JVM個人筆記一 記憶體管理(1)

2021-06-22 18:55:13 字數 598 閱讀 2802

hotspot執行時資料區主要分為5個(堆、棧、方法區、本地方法區、程式計數器),還有個direct memory,其中可控的為堆、棧和(本地)方法區(direct memory預設跟-xmx一樣大,可使用-xx:maxdirectmemorysize指定),這裡不討論direct memory

1、堆的引數 命令

作用-xms

堆的初始值

-xmx

堆的最大值

-xmn

年輕代預設值

-xx:servivorratio

eden和servivor的比值

-xx:maxtenuringthreshold

經過n次minor gc後物件進入年老代

注:年老代=heap-年輕代

2、棧的引數:-xss:每個棧的大小,棧的總大小=程序最大值-(堆+方法區大小+程式計數器)=執行緒數*(-xss),所以-xss越小,能開的執行緒越多,但是可能導致棧溢位

3、方法區引數:-xx:permsize:預設大小,-xx:maxpermsize:最大值

JVM 記憶體管理

date 2020 10 29 16 30 00 updated 2020 10 29 17 10 00 參考文件 jvm記憶體劃分 暫存器 程式計數器pc拿到指令位址,放入指令暫存器ir中,cpu執行指令 本地方法區 方法區棧記憶體 stack 堆記憶體 heap,不是資料結構中的堆 int ar...

JVM自動記憶體管理

可 物件的判定方法 引用計數演算法 給物件新增乙個引用計數器,每乙個引用它的地方時,就 1,失效就 1,為0時候就是不能再被用了。缺陷 注意迴圈引用,就是你用我的,我用你的,叫做死鎖吧,引用計數器是1,無法 a.b b b.a a 現在主流的jvm沒有使用這個演算法。可達性分析演算法 通過一系列稱為...

jvm記憶體管理(二)

關於物件訪問 object o new object 此語句將會在 堆中 開闢空間儲存 new object 的例項資訊,同時還必須包括物件型別,父類,實現的介面,方法等資訊的位址資訊 這些儲存在方法區中 reference 型別 儲存的是指向物件的引用,具體的實現方式根據jvm的不同,一般有兩種 ...