三色标记是标记-清扫的一个变种算法,对象使用三种颜色:黑色、白色和灰色。 标记过程
所有对象最初都是白色。
将所有初始的可达对象,即全局对象或者栈对象(root 集合)标记为灰色。
任意取出一个灰色对象,将所有它引用到的白色对象标记为灰色,然后将它自身标记为黑色。
重复上一步,直找不到灰色对象。
剩下的对象不是白色就是黑色。
所以黑色对象都是可达的,而白色对象是不可达的,回收掉白色对象。
go 垃圾回收:三色算法arrow-up-right
Go垃圾回收之三色标记算法arrow-up-right
从垃圾回收解开Golang内存管理的面纱之三垃圾回收arrow-up-right
基本垃圾回收算法arrow-up-right
Last updated 5 years ago