参考:《Java虚拟机精讲》
一、JVM虚拟机内部的内存分布的概况
其中方法区我在博文 java虚拟机类加载过程内存情况底层源码分析及ClassLoader讲解中详细讲解过,可参考那篇文章。它里面主要保存:运行时常量池、字段和方法数据、构造函数、普通方法的字节码等。
PC寄存器会存储正在执行的字节码指令地址,线程私有
Java栈也为线程私有,生命周期与线程的生命周期一致
二、内存分配
1、分配步骤
当我们创建一个对象时,会经历如下步骤:
根据上面的描述得到下面的图
所以对象是分配在堆的Eden区的,&