由于本人也属于小白学习,学习过程中也有很多不解的地方,欢迎大家提问,或者指出我未能讲到的部分,发现gc是一个很庞大的逻辑所以此篇会一直更新,到我觉得真的完全理解了再停更 golang概览及原理 golang的垃圾回收采用的是 标记-清理(Mark-and-Sweep) 算法 就是先标记出需要回收的内存对象快,然后在清理掉; 选取三色标记清除法的原因: 1.对象整理的优势是解决内存碎片问题以及“允许”使用顺序内存分配器。但 Go 运行时的分配算法基于 tcmalloc,基本上没有碎片问题。并且顺序内存分配器在多线程的场景下并不适用。Go 使用的是基于 tcmalloc 的现代内存分配算法,对对象