栈与堆对比图 左侧展示栈(整齐的书架),右侧展示堆(杂乱的仓库),说明两者在内存管理上的本质差异 栈(Stack) 像一摞整齐的托盘 add(a, b) ← 最新调用,在顶部 calculate() 调用了 add() main() 程序入口 (空闲空间) (空闲空间) (空闲空间) 后进 先出 堆(Heap) 像一间大仓库 用户对象 动态创建 切片 / 数组 map 哈希表 接口值 编译期大小不确定 闭包捕获的变量 生命周期延长 已回收 碎片 大对象(>32KB) 直接从 mheap 分配 碎片 channel 缓冲区 运行时分配 自动分配/释放 速度极快,无 GC 压力 手动或 GC 管理 灵活,但需要垃圾回收