Go 内存管理与逃逸分析复习笔记
# 一、 核心概念:栈 (Stack) vs 堆 (Heap) 特性 栈 (Stack) 堆 (Heap) 分配速度 极快(移动栈顶指针) 较慢(需寻找合适内存块) 管理方式 编译器自动分配与释放 由 GC (垃圾回收器) 管理释放 生存周期 随函数调用开始 / 结束 持续到不再被引用,由 GC 回收 碎片 无 容易产生碎片 # 二、 逃逸分析 (Escape Analysis) Go 编译器会自动决定变量分配在栈还是堆。原则: 如果变量在函数结束后仍被引用,则必须逃逸到堆。 # 1. 指针逃逸 场景: 函数返回局部变量的地址。 func createPointer() *int...
more...








