DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Golang

Go 垃圾回收原理:并发三色标记-清除与 STW 优化

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

Go 采用并发三色标记-清除(mark-sweep)垃圾回收:① 标记阶段:从根对象(全局变量、栈、寄存器)出发,用三色标记(白=未访问、灰=待处理、黑=已处理)追踪可达对象;② 清除阶段:回收不可达(白色)对象的内存。并发优化:标记与用户代码并发执行(写屏障保证正确性),STW(Stop The World)时间极短(毫秒级),1.5+ 后大幅改善,1.8+ 引入混合写屏障进一步降低停顿。触发时机:堆增长到 GOGC 阈值、手动 runtime.GC、定时。

下载推广海报

圈内讨论推广海报

《Go 垃圾回收原理:并发三色标记-清除与 STW 优化》完整推广海报
REPLIES

回复

0 条回复
暂无回复。