堆和栈是面试里非常高频的一题。虽然很多时候会放在语言题里问,但它本质上和操作系统内存管理密切相关。
真正需要抓住的,不是“栈快堆慢”这句结论,而是:
栈和堆分别服务什么场景,它们为什么会采用完全不同的管理方式。
一、什么是栈
栈主要服务函数调用过程。
函数调用时,系统通常会在栈上创建一个新的栈帧(stack frame),里面保存:
- 局部变量
- 函数参数
- 返回地址
- 调用现场
2026/3/30...大约 4 分钟
堆和栈是面试里非常高频的一题。虽然很多时候会放在语言题里问,但它本质上和操作系统内存管理密切相关。
真正需要抓住的,不是“栈快堆慢”这句结论,而是:
栈和堆分别服务什么场景,它们为什么会采用完全不同的管理方式。
栈主要服务函数调用过程。
函数调用时,系统通常会在栈上创建一个新的栈帧(stack frame),里面保存: