JVM内存模型如下图所示:
![]() |
|---|
此处我们集中注意中间绿色的部分,该部分为JVM的运行时内存,该部分包含了:
线程私有的(灰色):
- 程序计数器:记录执行到第几条指令
- 虚拟机方法栈:执行Java方法所用,每执行一个方法便加入一个栈帧,里面含有局部变量表、操作栈、动态链接和方法出口等
- 本地方法栈:与虚拟机方法栈相似,用于执行native方法
线程共享的(蓝色):
- 堆:对象实例存放地,,分为年轻代和老年代。年轻代又细分为伊甸园区和两个相对的Survival区
- 方法区:也叫永久代,存放了类的信息、常量、类静态变量等元素,含有一个运行时常量池
