【问题标题】:Are there fixed memory allocated for Stack and Heap?是否为堆栈和堆分配了固定内存?
【发布时间】:2015-09-11 22:31:22
【问题描述】:

我理解堆栈向上增长和堆向下增长或反之亦然(取决于架构)的事实。 但是,我找不到关于它实际上是如何实现的详细信息,我的疑问是,对于每个进程都会分配一个内存块,但是对于堆栈或堆可以使用多少最大块有限制吗?或者在整个分配的内存被消耗之前没有限制?

【问题讨论】:

    标签: memory memory-management


    【解决方案1】:

    是的,进程具有预先确定的堆栈大小。您是否曾经尝试过多地递归方法/函数?你得到一个 StackOverflow 异常。这并不意味着您已经浏览了整个计算机的内存。操作系统控制每个进程的堆栈和堆内存的分配。

    【讨论】:

    • 这并不意味着您已经使用了整个计算机的内存——我同意,但是为该进程分配的内存块肯定已经用完了。我相信 StackOverflow 仅在您没有更多内存用于该进程(而不是系统的整个内存)时才会发生。
    猜你喜欢
    • 2019-05-17
    • 2011-10-09
    • 2011-05-28
    • 2019-10-23
    • 2017-01-04
    • 2012-12-05
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多