Java ZGC垃圾收集器
1.1 JDK 11加入的具有實驗性質的低延遲收集器
1.2 類似於PGC和C4收集器
1.3 主要特徵
1.3.1 基於Region內存分佈
別稱Page,或ZPage
具有動態性,動態創建和銷燬動態的區域容量大小
小型Region 2MB
中型Region 32MB
大型 Region N*2MB放一個大對象
1.3.2(暫時)不設分代
1.3.3 使用了讀屏障,染色指針,內存多重映射等技術實現的可併發的標記-整理算法
染色指針
把標記記錄在了對象引用上
優勢
Region存活對象移走後,Region內存能立即釋放和重用到
無寫屏障,程序效率高
可擴展的存儲結構
1.4 低延遲的首要目標
1.5 支持NUMA-Aware的內存分配
1.6 運行過程4步驟
併發標記
併發預備重分配
併發重分配
染色指針的"自愈"能力
併發重映射