虚拟机栈简称栈
1.栈描述的是一个方法被执行的内存模型,每调用一个方法,就会创建一个栈(存放局部变量,操作数,方法出口(返回值))
2.堆:几乎所有Java创建的对象都被分配在堆上,它被所有线程共享,在堆上的区域会被垃圾回收器进一步划分,就像新生代和老年代划分
(1):所有创建好的对象个数组在堆上分配空间.
(2):JVM只有一个堆,被所有线程所共享(3):堆是一个不连续的空间,分配灵活,速度慢
方法区:运行时常量池
分析图如下所示:
虚拟机栈简称栈
1.栈描述的是一个方法被执行的内存模型,每调用一个方法,就会创建一个栈(存放局部变量,操作数,方法出口(返回值))
2.堆:几乎所有Java创建的对象都被分配在堆上,它被所有线程共享,在堆上的区域会被垃圾回收器进一步划分,就像新生代和老年代划分
(1):所有创建好的对象个数组在堆上分配空间.
(2):JVM只有一个堆,被所有线程所共享(3):堆是一个不连续的空间,分配灵活,速度慢
方法区:运行时常量池
分析图如下所示: