1. 程式人生 > >java JVM 堆新生代與老年代及回收方式

java JVM 堆新生代與老年代及回收方式

回收方式主要為兩種,複製——清除,與標記——清除(標記 ——整理為標記——清除的升級版)。

新生代為沒有經歷過垃圾回收或者經歷次數沒有到達轉入老年代的物件。

老年帶為經歷過多次回收仍然存在的物件。或者由虛擬機器規則轉入老年代的新生代。

新生代在建立兌現的時候記憶體無法滿足會把新生代中的對像提前進去老年代。

新生代中有兩個或多個佔用記憶體相等被切總和為新生代記憶體一半或以上的物件將會直接進去老年代。

虛擬機器可以設定引數在物件佔用空間超過引數時直接進入到老年代。

老年代的回收都為標記清除方式,新生代會採用標記清除或者複製清除的方式。