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