【发布时间】:2015-09-11 22:31:22
【问题描述】:
我理解堆栈向上增长和堆向下增长或反之亦然(取决于架构)的事实。 但是,我找不到关于它实际上是如何实现的详细信息,我的疑问是,对于每个进程都会分配一个内存块,但是对于堆栈或堆可以使用多少最大块有限制吗?或者在整个分配的内存被消耗之前没有限制?
【问题讨论】:
我理解堆栈向上增长和堆向下增长或反之亦然(取决于架构)的事实。 但是,我找不到关于它实际上是如何实现的详细信息,我的疑问是,对于每个进程都会分配一个内存块,但是对于堆栈或堆可以使用多少最大块有限制吗?或者在整个分配的内存被消耗之前没有限制?
【问题讨论】:
是的,进程具有预先确定的堆栈大小。您是否曾经尝试过多地递归方法/函数?你得到一个 StackOverflow 异常。这并不意味着您已经浏览了整个计算机的内存。操作系统控制每个进程的堆栈和堆内存的分配。
【讨论】: