heap和stack有什么区别

来源:互联网 发布:python能爬取收费视频 编辑:程序博客网 时间:2024/05/16 01:01
heap 堆(dui) stack 栈(zhan) h比s先 d比z先 所以 堆栈的记忆按照他们的首字母的顺序即可。堆栈 heap stack

1.heap是堆,stack是栈。

2.stack的空间由操作系统自动分配和释放,heap的空间是手动申请和释放的,heap常用new关键字来分配。

3.stack空间有限,heap的空间是很大的自由区。

在Java中,

若只是声明一个对象,则先在栈内存中为其分配地址空间,

若再new一下,实例化它,则在堆内存中为其分配地址。

4.举例:

数据类型 变量名;这样定义的东西在栈区。

如:Object a =null; 只在栈内存中分配空间

new 数据类型();或者malloc(长度);    这样定义的东西就在堆区

如:Object b =new Object(); 则在堆内存中分配空间

0 0