JVM內存模型和性能調優:JVM內存分配與回收:對象動態年齡判斷- 第25篇

一、對象動態年齡判斷

當前放對象的Survivor區域裏(其中一塊區域,放對象的那塊S區),一批對象的總大小大於這塊Survivor區域內存大小的50%(-XX:TargetSurvivorRatio可以指定),那麼此時大於等於這批對象年齡最大值的對象,就可以直接進入老年代了。

例如Survivor區域裏現在有一批對象,年齡1+年齡2+年齡n的多個年齡對象總和超過了Survivor區域的50%,此時就會把年齡n(含)以上的對象都放入老年代。這個規則其實是希望那些可能是長期存活的對象,儘早進入老年代。對象動態年齡判斷機制一般是在minor GC之後觸發的。

 年齡1+年齡2+...+年齡n>50%(To區大小)。假設n=10,

如果年齡1+年齡2+年齡3+年齡4+年齡5>50%了,那麼年齡爲6-10的這些對象直接挪到老年代。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章