JAVA中堆,栈,方法区的简单理解

JAVA中堆,栈,方法区的简单理解,第1张

JAVA中堆,栈,方法区的简单理解 1.堆(heap)

 在JVM中只有一个堆,在虚拟机开启时创建,所有的线程都共用这一个堆。类的对象会储存在堆内存中,而new对象的引用地址会储存在stack栈中。堆中只存储对象本身和数组。

2.栈(stack)

 Java栈与堆不同每一个线程都有一个stack,栈的区域非常小,大概只有1M左右,但是存储速度非常快,所以我们把快速执行的任务存储在stack。栈中存储的就是基本数据类型和对象的引用(地址,而不是实例!)。

3.方法区(method)

 方法区(method)又叫静态区,这里主要存储的就是类(class)、静态方法、静态变量、常量以及成员方法。我们可以发现在方法区中存储的都是整个程序中唯一存在的元素,所以方法区与堆一样被所有线程共享。我们常说的常量池也是方法区的一部分。

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5597000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存