堆和栈 的区别
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这个字符串是显式声明,所以存储在常量池
以上是关于堆和栈 的区别的主要内容,如果未能解决你的问题,请参考以下文章