Go 三色标记GC详解
# go gc GoV1.3- 普通标记清除法,整体过程需要启动 STW,效率极低。 GoV1.5- 三色标记法, 堆空间启动写屏障,栈空间不启动,全部扫描之后,需要重新扫描一次栈 (需要 STW),效率普通 GoV1.8 - 三色标记法,混合写屏障机制, 栈空间不启动,堆空间启动。整个过程几乎不需要 STW,效率较高。 # 标记清除 第一步,暂停程序业务逻辑,分类出可达和不可达的对象,然后做上标记。 第二步,开始标记,程序找出它所有可达的对象,并做上标记。 第三步,标记完了之后,然后开始清除未标记的对象。 第四步,停止暂停,让程序继续跑。然后循环重复这个过程,直到 process...
more...