知识卡片

三色标记分对象状态

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.1.b.1.a.2.a.6.b.1

内容

三色标记把对象按扫描状态分组,帮助 GC 判断哪些对象仍可达。发散:垃圾回收不是找垃圾,而是证明哪些对象还活着。状态一致性依赖[[写屏障维护标记]]。

参考来源

- 位置:《Go语言入门到实战(共3册)》第42章《Go语言学习笔记:第17章 垃圾回收》(源文件:_epub-src/text/part0111.html) - 结论依据:原文围绕“三色标记把对象按扫描状态分组,帮助GC判断哪些对象仍可达”展开机制、顺序或组件关系说明;摘录中的关键步骤和术语支撑本卡片正文及结构图。 - 原始内容:者大部分结构相同,只是在输出结果上有细微调整。 mstats.go type mstats struct { alloc uint64 // 当前分配的object内存(含未回收的白色对象) total_alloc uint64 // 历史累计分配内存(当前正在使用和历次回收释放) sys uint64 // 当前从操作系统获取的内存(所有分配总和,不包括已…