01 2021 档案
摘要:什么是内存逃逸? 本该在栈上分配空间的变量因为一些特别的原因,导致该变量最终在堆上分配空间,导致变量逃逸 内存逃逸的一些场景分析 1.闭包导致的内存逃逸: 在函数运行栈空间上分配的内存,由于闭包的关系,变量在函数的作用域之外使用 func closure() func() int { var a i
阅读全文
摘要:https://blog.csdn.net/moxiaomomo/article/details/78529737
阅读全文
摘要:垃圾回收(GC)是在后台运行一个守护线程,它的作用是在监控各个对象的状态,识别并且丢弃不再使用的对象来释放和重用资源。Golang底层采用标记-清除算法,简单描述就是先标记,再清除(清除涉及stw) Golang采用三色标记法是对标记阶段的改进 简单的标记-清除会有stw,三色标记通过将扫描的对象分
阅读全文