导图:GO语言四大模块
1.调度器
2.netpoll
3.内存管理
4.GC
垃圾回收算法有很多,主要有:引用计数、标记-清除、分代收集
口述,go gc 的原理 三色标记发+混合写屏障 思路 尽量减少stw的时间,
1.只在开始标记阶段和标记结束阶段使用stw,
2.标记阶段采用写屏障,将新建和修改的放入单独的marking队列。
3.标记结束阶段再次扫描marking队列,关闭写屏障
什么是内存屏障?
垃圾收集中的屏障技术更像是一个钩子方法,它是在用户程序读取对象、创建新对象以及更新对象指针时执行的一段代码,根据操作类型的不同,我们可以将它们分成读屏障(Read barrier)和写屏障(Write barrier)两种,因为读屏障需要在读操作中加入代码片段,对用户程序的性能影响很大,所以编程语言往往都会采用写屏障保证三色不变性。写屏障是当对象之间的指针发生改变时调用的代码片段。标签:marking,语言,barrier,标记,笔记,屏障,GO,stw From: https://www.cnblogs.com/zendu/p/18179164