Linux雲端計算技術學習:虛擬機器堆記憶體結構
JVM中堆空間可以分成三個大區,年輕代、老年代、永久代(方法區)。所有新生成的物件首先都是放在年輕代的。年輕代的目標就是儘可能快速的收集掉那些生命週期短的物件。
年輕代分為三個區域:EDEN、Survivor0(簡稱S0,也通常稱為from區)、Survivor1(簡稱S1,也通常稱為to區)。其中S0與S1的大小是相同等大的,三者所佔年輕代的比例大致為8:1:1,S0與S1就像"孿生兄弟"一樣,我們大家不必去糾結此比例(可以透過修改JVM某些動態引數來調整)的大小.只需謹記三點就好:
1.S0與S1相同大小。
2.EDEN區遠比S(S0+S1)區大,EDEN佔了整個年輕代的大致70%至80%左右。
3.年輕代分為2個區(EDEN區、Survivor區)、3個板塊(EDEN、S0、S1)。
在年輕代中經歷了N次垃圾回收後仍然存活的物件,就會被放到年老代中。因此,可以認為年老代中存放的都是一些生命週期較長的物件。那一個物件到底要經過多少次垃圾回收才能從年輕代進入老年代呢?
我們通常認為在新生代中的物件,每經歷過一次GC,如果它沒有被回收,它的年齡就會被加1, 虛擬機器提供了一個引數來可控制新生代物件的最大年齡:MaxTenuringThreshold。預設情況下,這個引數是15。 也就是說,在新生代的物件最多經歷15次GC,就可以進入老年代。
假如存在一種這樣的情況,一個新生代物件,佔用新生代空間特別大。在GC時若不回收,新生代空間將不足。但是若要回收,程式還沒有使用完。此時就不會依據這個物件的 MaxTenuringThreshold 引數。而是直接晉升到老年代。所以說MaxTenuringThreshold 引數是晉升老年代的充分非必要條件。
最後永久代也通常被叫做方法區。是一塊所有執行緒共享的記憶體區域。用於儲存系統的類資訊,比如類的欄位、方法、常量池。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2649551/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux雲端計算技術學習:虛擬機器基本結構講解Linux虛擬機
- Linux雲端計算技術學習:常用虛擬機器引數Linux虛擬機
- Linux雲端計算技術學習:跟蹤JAVA虛擬機器的垃圾回收LinuxJava虛擬機
- Java 虛擬機器之三:Java虛擬機器的記憶體結構Java虛擬機記憶體
- 《深入理解java虛擬機器》學習筆記1——Java記憶體結構Java虛擬機筆記記憶體
- JVM虛擬機器記憶體結構簡析JVM虛擬機記憶體
- Java虛擬機器記憶體模型學習筆記Java虛擬機記憶體模型筆記
- 雲端計算與虛擬化結合技術分析
- 面試準備之java虛擬機器記憶體結構面試Java虛擬機記憶體
- Java虛擬機器系列之Java記憶體結構簡介Java虛擬機記憶體
- 計算機作業系統——虛擬記憶體與實體記憶體計算機作業系統記憶體
- Java虛擬機器詳解(二)------執行時記憶體結構Java虛擬機記憶體
- JAVA 虛擬機器可用記憶體Java虛擬機記憶體
- 雲端計算教程學習入門影片課件:虛擬化技術和容器技術詳解
- 雲端計算和虛擬機器基礎梳理虛擬機
- 反虛擬機器技術總結虛擬機
- 《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體Java虛擬機記憶體
- 學習筆記-虛擬機器筆記虛擬機
- 深入學習Java虛擬機器——垃圾收集器與記憶體分配策略Java虛擬機記憶體
- Linux 虛擬記憶體Linux記憶體
- 虛擬化及雲端計算技術應用的思考
- JVM虛擬機器和Oracle資料庫記憶體管理的學習JVM虛擬機Oracle資料庫記憶體
- 虛擬化有哪些分類?Linux雲端計算技術及應用Linux
- 雲端計算開發學習教程,Tomcat運維JVM 虛擬機器常識Tomcat運維JVM虛擬機
- 清華大學-作業系統學習筆記(五)--- 虛擬記憶體技術作業系統筆記記憶體
- linux伺服器增加虛擬記憶體Linux伺服器記憶體
- 深入學習Java虛擬機器——類檔案結構Java虛擬機
- 【恩墨學院】當Java虛擬機器遇上Linux Arena記憶體池Java虛擬機Linux記憶體
- 淺析虛擬機器記憶體管理模型虛擬機記憶體模型
- Java虛擬機器之記憶體區域Java虛擬機記憶體
- Java虛擬機器4:記憶體溢位Java虛擬機記憶體溢位
- Java虛擬機器12:Java記憶體模型Java虛擬機記憶體模型
- Java零基礎學習之路(九)Java虛擬機器記憶體管理Java虛擬機記憶體
- 《深入理解java虛擬機器》學習筆記8——Tomcat類載入器體系結構Java虛擬機筆記Tomcat
- Linux雲端計算技術學習:怎麼檢視程式 psLinux
- Java虛擬機器記憶體分配與回收策略Java虛擬機記憶體
- Java虛擬機器記憶體區域詳解Java虛擬機記憶體
- Java虛擬機器記憶體區域劃分Java虛擬機記憶體