三色标记内容点击下面链接
region(区域)
SATB相对增量更新效率会高(当然SATB可能造成更多的浮动垃圾),
因为不需要在重新标记阶段再次深度扫描被删除引用对象,
而CMS对增量引用的根对象会做深度扫描,
G1因为很多对象都位于不同的region,
CMS就一块老年代
区域,重新深度扫描对象的话G1的代价会比CMS高,
所以G1选择SATB不深度扫描对象,只是简单标记,等到下一轮GC
再深度扫描。
垃圾收集算法:CMS与G1的SATB比较
这篇博客探讨了垃圾收集算法中CMS和G1的差异,特别是它们在SATB(Stop-The-World,增量更新)策略上的应用。CMS在处理增量引用时需要深度扫描根对象,而G1为了避免高代价的深度扫描,选择了简单标记并延迟到下次GC再进行深度扫描。这展示了两种算法在效率和优化策略上的不同考量。
2451

被折叠的 条评论
为什么被折叠?



