Go的GC机制
一 Go垃圾回收机制概述
C++使用指针引用计数方式来回收对象,但是该方式不能处理循环引用!所以之后的GC算法进行了改进,出现了:标记清理、节点复制、分代收集等算法。
Go语言的垃圾回收使用标记清理算法,将需要的内存块进行标记(mark),没有标记的内存块将会被清理(sweep)。Go用到的策略有:
- 并发标记和清理(concurrent mark and sweep)
- 写屏障(write barrier)
C++使用指针引用计数方式来回收对象,但是该方式不能处理循环引用!所以之后的GC算法进行了改进,出现了:标记清理、节点复制、分代收集等算法。
Go语言的垃圾回收使用标记清理算法,将需要的内存块进行标记(mark),没有标记的内存块将会被清理(sweep)。Go用到的策略有: