JVM8以上G1算法步骤图解

前提引言:G1计划作为并发商标扫描收集器(CMS)的长期替代品。将G1与CMS进行比较可以发现G1的差异,这是更好的解决方案。一个区别是G1是一个压缩收集器。此外,G1提供比CMS收集器更多的可预测垃圾收集暂停,并允许用户指定所需的暂停目标。
G1图示解释和G1算法步骤解释
JVM8以上G1算法步骤图解
来自官方解释:
JVM8以上G1算法步骤图解
从逻辑上讲,G1是世代的。一组空白区域被指定为合乎逻辑的年轻一代。在图中,年轻一代是淡蓝色。分配工作是由那些合乎逻辑的年轻一代完成的,当年轻一代充满时,这些地区就是垃圾收集(一个年轻的收藏)。在某些情况下,在一组年轻地区之外的地区(深蓝色的旧地区)可以同时进行垃圾收集。这被称为混合收藏。在该图中,收集的区域用红色框标记。该图显示了混合收藏,因为收集了年轻区域和旧区域。垃圾收集是一个压缩集合,它将活动对象复制到选定的初始空白区域。根据幸存对象的年龄,可以将对象复制到幸存者区域(标有“S”)或旧区域(未具体显示)。标有“H”的地区含有大于半数地区的特殊物体,请参见了Humongous对象和分配了Humongous在垃圾-First垃圾收集。