1. 程式人生 > >JVM8以上G1演算法步驟圖解

JVM8以上G1演算法步驟圖解

前提引言:G1計劃作為併發商標掃描收集器(CMS)的長期替代品。將G1與CMS進行比較可以發現G1的差異,這是更好的解決方案。一個區別是G1是一個壓縮收集器。此外,G1提供比CMS收集器更多的可預測垃圾收集暫停,並允許使用者指定所需的暫停目標。
G1圖示解釋和G1演算法步驟解釋
這裡寫圖片描述
來自官方解釋:
這裡寫圖片描述
從邏輯上講,G1是世代的。一組空白區域被指定為合乎邏輯的年輕一代。在圖中,年輕一代是淡藍色。分配工作是由那些合乎邏輯的年輕一代完成的,當年輕一代充滿時,這些地區就是垃圾收集(一個年輕的收藏)。在某些情況下,在一組年輕地區之外的地區(深藍色的舊地區)可以同時進行垃圾收集。這被稱為混合收藏。在該圖中,收集的區域用紅色框標記。該圖顯示了混合收藏,因為收集了年輕區域和舊區域。垃圾收集是一個壓縮集合,它將活動物件複製到選定的初始空白區域。根據倖存物件的年齡,可以將物件複製到倖存者區域(標有“S”)或舊區域(未具體顯示)。標有“H”的地區含有大於半數地區的特殊物體,請參見了Humongous物件和分配了Humongous在垃圾-First垃圾收集。