两色标记回收
两色标记回收
两色垃圾回收算法中的2个颜色分别是 白、黑. 算法大致如下:
- 将初始化的对象置为白色
- 所有根(全局变量或栈上的变量)可及的对象置为黑色
- 清理所有白色对象
- 将幸存的黑色对象全部置为白色
这应该是最简单的mark-sweep算法. Lua5.0 就是采用的这种算法。 这种算法的缺点一目了然。 不是增量的GC算法。因此GC过程中mutator肯定是被paused的。
blog comments powered by Disqus
两色垃圾回收算法中的2个颜色分别是 白、黑. 算法大致如下:
这应该是最简单的mark-sweep算法. Lua5.0 就是采用的这种算法。 这种算法的缺点一目了然。 不是增量的GC算法。因此GC过程中mutator肯定是被paused的。