当前位置:首页 > 热点 >

堆和栈分别存放什么?堆和栈有什么区别?

2023-03-14 15:23:05 来源:人气网

堆和栈分别存放什么?

1.栈:当程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会被释放,这个栈中的变量也将随之释放。

2.堆:存放不在当前方法栈中的那些数据

堆和栈有什么区别?

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

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

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

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

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

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

Copyright @ 2008-2016 www.renqi.net All Rights Reserved 人气网 版权所有

京ICP备12018864号-17

联系邮箱   291 32 36@qq.com

营业执照公示信息