1、堆、栈、静态&全局、代码等内存区域
2、go程序初始化大致流程
osinit()->shedinit()->stackinit()->mallocinit()->main()
2.1、stackinit
2.2、mallocinit
tcmalloc内存分配;多级内存申请;需GC
3、go逃逸分析
任何时候,一个值被分享到函数栈帧范围之外,都会在堆上分配。(注意体会值拷贝)
4、内存回收算法
未完待续......
本文深入探讨了Go语言中的内存管理机制,包括堆、栈、静态及全局内存区域的使用,Go程序初始化流程,逃逸分析原理,以及内存回收算法。通过理解这些核心概念,读者将能够更好地掌握Go语言中内存的高效利用。
osinit()->shedinit()->stackinit()->mallocinit()->main()
tcmalloc内存分配;多级内存申请;需GC
任何时候,一个值被分享到函数栈帧范围之外,都会在堆上分配。(注意体会值拷贝)
未完待续......
8085

被折叠的 条评论
为什么被折叠?