堆(heap)栈(stack)方法区(method)

Posted 九零大叔芭蕉

tags:

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

JVM内存分为3个区:堆(heap)、栈(stack)、方法区(method)

 

1.堆(heap):存储的全部对象,每个对象有个与之对应的class信息。即通过new关键字和构造器创建的对象。JVM只有一个堆被所有线程共享。堆是垃圾收集管理的主要区域。

 

2.栈(stack):每个线程包含一个栈区,栈中只保存基本数据类型和自定义对象的引用。每个栈中的数据都是私有的,其他栈不能访问。栈又分为3个区:基本类 型变量区、执行环境上下文、操作指令区。

 

3.方法区(method):方法区又叫做静态区。和堆一样被所有线程共享。方法区中包含的都是在整个程序中永远唯一的元素,如:class,static变量。常量池是   方法区的一部分。

 

以上是关于堆(heap)栈(stack)方法区(method)的主要内容,如果未能解决你的问题,请参考以下文章

JVM 内存 (堆(heap)栈(stack)和方法区(method) )

堆(heap)栈(stack)和方法区(method)

JVM内存—堆(heap)栈(stack)方法区(method) (转)

JVM 内存初学 (堆(heap)栈(stack)和方法区(method) )

JVM 内存初学 (堆(heap)栈(stack)和方法区(method) )

Java里的堆(heap)栈(stack)和方法区(method)