堆和栈 的区别

Posted EasyComeEasyGo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了堆和栈 的区别相关的知识,希望对你有一定的参考价值。

栈:自动回收

堆:1.内存地址  2.初始化默认值 3.垃圾回收机制

int a  = 5;  在栈中。

int[] b =null;  此时null 代表 不指向任何堆。

int [] c =new int[5];在堆中开辟一块空间。此时 c指一块内存地址。

=======================学习黑马java视频学习的,讲的很生动,又缕了一遍。一会该练吉他了

技术分享

技术分享

====以下为网上找的资料

1.在看例子之前,确保你理解以下几个术语:

:由JVM分配区域,用于保存线程执行的动作和数据引用。栈是一个运行的单位,Java中一个线程就会相应有一个线程栈与之对应。

:由JVM分配的,用于存储对象等数据的区域。

常量池:在编译的阶段,在堆中分配出来的一块存储区域,用于存储显式的String,float或者integer.例如String str="abc"; abc这个字符串是显式声明,所以存储在常量池

 

以上是关于堆和栈 的区别的主要内容,如果未能解决你的问题,请参考以下文章

java中堆和栈的区别!!!!

Java中的堆和栈的区别

Java堆和栈的区别和介绍,JVM的堆和栈

堆和栈的区别:

JVM中堆和栈的区别

Java中的堆和栈的区别