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