关于三色标记算法的理解

三色标记算法是一种垃圾标记的算法,用于cms和g1。
它将对象分为3种颜色:
1.白色对象:未被标记的对象
2.灰色对象:自身被标记,引用的其它对象还没被标记
3.黑色对象:自身以及所引用的对象都被标记完

标记过程:
初始状态所有对象都是白色的,
从gc roots出发,将gc roots都标记成灰色,然后递归扫描所有灰色对象,当灰色对象的所有引用都处理完的时候,将灰色对象标记成黑色;最终所有存活的对象都会被标记成黑色,白色对象就是垃圾,会被清除。

会产生漏标的问题:
漏标产生的条件:黑色对象指向了白色对象,同时灰色对象指向白色对象的引用消失。
解决方法有两种:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值