java中的堆和栈的区别

在jvm虚拟机中,内存被划分为五片区域,分别是:

1.   寄存器;

2.   本地方法区;

3.   方法区;

4.   栈内存;

5.   堆内存。

栈:栈中存储的都是局部变量(基本知识),栈的特点是先进后出。所以按照顺序方法先进栈,其次是变量进栈。

堆:存储的都是对象,即凡是new 的都在堆中放着。堆中的都是实体,存放着数据,堆中的数据只会被当作垃圾处理,不会轻易被释放掉

堆和栈的联系:堆中的实体申请到一个地址,然后把这个地址分给栈中的局部变量,接着局部变量就根据这个地址找到堆中的相关数据。若栈中没有指向堆内的某个地址,则堆会被逐渐回收掉。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容