垃圾回收-三色法
三色标记清除算法
三色标记是标记-清扫的一个变种算法,对象使用三种颜色:黑色、白色和灰色。 标记过程
所有对象最初都是白色。
将所有初始的可达对象,即全局对象或者栈对象(root 集合)标记为灰色。
任意取出一个灰色对象,将所有它引用到的白色对象标记为灰色,然后将它自身标记为黑色。
重复上一步,直找不到灰色对象。
剩下的对象不是白色就是黑色。
所以黑色对象都是可达的,而白色对象是不可达的,回收掉白色对象。
参考
Last updated
Was this helpful?