蒲公英聯盟提供ghost win10,ghost win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

新生代又分eden空間、from survitor空間 和to survitor空間).它們之間內存比例為8:1:1 方法區 線程共享 存放類的信息、常量、靜態變量、即時編譯后的代碼 方法區下又有運行時常量池:存放編譯期生成的字面量和符號引用

來源:蒲公英系統┆發布時間:2018-10-30 12:04┆點擊:

jvm虛擬機在運行時需要用到的內存區域.廣泛一點就是堆和棧,其實不然,堆和棧只是相對比較籠統的說法,真正區分有如下幾個

先上圖一:

jvm java內存區域詳解 三聯

總的就是

java的內存模型

內存模型又分堆內存(heap)和方法區(有時也稱為non-heap)和棧

堆又分新生代(Young)和老年代(old/Tenured)

新生代又分默認比例為8:1:1的eden空間、from survivor空間、to survivor空間

當進行垃圾回收時,eden、survivor from 存活得對象會復制到servivor to空間

接著from與to空間互換.(當from區的對象足夠老時,即標記的次數達到老年級別,便到老年代去)

內存的大小設置參數可以如下一張圖說明

新生代又分eden空間、from survitor空間 和to survitor空間).它們之間內存比例為8:1:1 方法區 線程共享 存放類的信息、常量、靜態變量、即時編譯后的代碼 方法區下又有運行時常量池:存放編譯期生成的字面量和符號引用

-XMS:堆的最小空間

-XMX:堆的最大空間

-PermSize:方法區的最小空間

-MaxPermSize:方法區的最大空間

-Xss:每個線程的堆棧空間

-newSize:新生代最小空間

-maxNewSize:新生代最大空間

老年代內存可以通過設置堆的大寫和新生代的大小來控制

老年代內存=堆內存-新生代內存

新生代又分eden空間、from survitor空間 和to survitor空間).它們之間內存比例為8:1:1 方法區 線程共享 存放類的信息、常量、靜態變量、即時編譯后的代碼 方法區下又有運行時常量池:存放編譯期生成的字面量和符號引用

程序計數器

線程私有,控制著字節碼所執行的行數.調用本地方法(native)時為空

當前線程所執行的字節碼的行號指示器,字節碼解釋器就是在工作時通過改變計數器的行號來獲獲取要執行的字節碼指令.調用本地方法(native)時計數器為空

虛擬機棧

線程私有,java執行方法的內存模型

每個方法執行的時候都會創建一個棧幀,用于存放局部變量、操作數棧、動態鏈接、方法出口等信息

局部變量表:基本數據類型、對象引用、long和double類型占兩個局部變量空間

每調用一個方法,都會對參數進行壓棧

本地方法棧

線程私有.調用native方法時

堆:

堆內存

線程共享,對象的實例以及數組都存儲在這里

堆又分新生代、老年代

在分代收集算法中,新生代又分eden空間、from survitor空間 和to survitor空間).它們之間內存比例為8:1:1

方法區

線程共享

存放類的信息、常量、靜態變量、即時編譯后的代碼

方法區下又有運行時常量池:存放編譯期生成的字面量和符號引用

尚未注冊暢言帳號,請到后臺注冊
极速快乐十分走势