• 技术文章 >常见问题

    堆和栈的区别有哪些?

    清浅清浅2020-09-09 13:43:29原创63593

    堆与栈的区别有:1、栈由系统自动分配,而堆是人为申请开辟;2、栈获得的空间较小,而堆获得的空间较大;3、栈由系统自动分配,速度较快,而堆一般速度比较慢;4、栈是连续的空间,而堆是不连续的空间。

    堆和栈的区别

    堆和栈的区别主要有五大点,分别是:

    1、申请方式的不同。栈由系统自动分配,而堆是人为申请开辟;

    2、申请大小的不同。栈获得的空间较小,而堆获得的空间较大;

    3、申请效率的不同。栈由系统自动分配,速度较快,而堆一般速度比较慢;

    4、存储内容的不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数的各个参数进栈,其中静态变量是不入栈的。而堆一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排;

    5、底层不同。栈是连续的空间,而堆是不连续的空间。

    以上就是堆和栈的区别有哪些?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:堆内存,栈内存
    上一篇:MQ是什么 下一篇:线程的生命周期分为几部分

    相关文章推荐

    • java中堆和栈的区别分析• 如何分辨Java应用中堆和栈的区别

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网