为什么G1用SATB?CMS用增量更新?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

美丽人生1989

有用的小伙伴可以打赏,多谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值