栈与堆(Stack & Heap) 程序运行时,内存大致可以分为两类:栈和堆。 栈(Stack) 存放函数调用的临时信息:参数、局部变量、返回地址。 “后进先出”(LIFO)。 分配和释放很快。 递归太深会导致“栈溢出”。 堆(Heap) 存放对象、数组等动态数据。 空间更大,但管理更复杂。 需要垃圾回收器释放不再使用的对象。 一个直观比喻 栈像“叠盘子”:最后放的最先拿。 堆像“仓库”:物品放哪儿都行,需要登记和清理。 为什么你需要知道它 理解递归和栈溢出。 理解为什么对象需要 GC。 理解“引用”和“生命周期”。 进一步阅读 深入理解栈与堆,会让你对性能、内存泄漏有更直观的判断。