三色标记原理

参考解析

499.三色标记原理 - 图1

原理:

首先把所有的对象都放到白色的集合中

  • 从根节点开始遍历对象,遍历到的白色对象从白色集合中放到灰色集合中
  • 遍历灰色集合中的对象,把灰色对象引用的白色集合的对象放入到灰色集 合中,同时把遍历过的灰色集合中的对象放到黑色的集合中
  • 循环步骤 3,知道灰色集合中没有对象
  • 步骤 4 结束后,白色集合中的对象就是不可达对象,也就是垃圾,进行回收