JVM内存结构深度解析,有哪些关键点需要深入理解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1967个文字,预计阅读时间需要8分钟。
《免费领取 JVM 学习资料——《深入理解 JVM(一)——JVM 内存结构之官方文档解读》+ 在上一篇文章中,我们通过 JDK 官方说明文档,对 JVM 内存结构进行了初步的了解。接下来,我们将继续深入探讨 JVM 的内存结构,并通过官方文档进行解读。》
》》》》》》》》》文章末尾免费领取 JVM 学习资料《《《《《《《《《
在上一篇文章《深入理解 JVM(一)-JVM 内存结构之官方文档解读》中,通过 JDK 官方说明文档,我们对 JVM 结构有了一个初步认识,接下来我们通过自己的理解来深入剖析下 JVM 内存结构。
JVM内存结构
1.PC寄存器
1、当前线程所执行的字节码行号指示器。
2、每个线程都有一个自己的PC计数器。
3、线程私有的,生命周期与线程相同,随JVM启动而生,JVM关闭而死。
4、线程执行Java方法时,记录其正在执行的虚拟机字节码指令地址。
5、线程执行Native方法时,计数器记录为空(Undefined)。
6、唯一在Java虚拟机规范中没有规定任何OutOfMemoryError情况区域。
2.Java虚拟机栈
存储栈帧(包括局部变量表、操作数栈、动态链接、方法出口),保存局部变量和尚未计算好的结果,线程私有的,生命周期与线程相同,随JVM启动而生,JVM关闭而死。
3.堆
Java堆是被所有线程共享的最大的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存(还可能栈上分配,系列文章后续会详细说明)。
本文共计1967个文字,预计阅读时间需要8分钟。
《免费领取 JVM 学习资料——《深入理解 JVM(一)——JVM 内存结构之官方文档解读》+ 在上一篇文章中,我们通过 JDK 官方说明文档,对 JVM 内存结构进行了初步的了解。接下来,我们将继续深入探讨 JVM 的内存结构,并通过官方文档进行解读。》
》》》》》》》》》文章末尾免费领取 JVM 学习资料《《《《《《《《《
在上一篇文章《深入理解 JVM(一)-JVM 内存结构之官方文档解读》中,通过 JDK 官方说明文档,我们对 JVM 结构有了一个初步认识,接下来我们通过自己的理解来深入剖析下 JVM 内存结构。
JVM内存结构
1.PC寄存器
1、当前线程所执行的字节码行号指示器。
2、每个线程都有一个自己的PC计数器。
3、线程私有的,生命周期与线程相同,随JVM启动而生,JVM关闭而死。
4、线程执行Java方法时,记录其正在执行的虚拟机字节码指令地址。
5、线程执行Native方法时,计数器记录为空(Undefined)。
6、唯一在Java虚拟机规范中没有规定任何OutOfMemoryError情况区域。
2.Java虚拟机栈
存储栈帧(包括局部变量表、操作数栈、动态链接、方法出口),保存局部变量和尚未计算好的结果,线程私有的,生命周期与线程相同,随JVM启动而生,JVM关闭而死。
3.堆
Java堆是被所有线程共享的最大的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存(还可能栈上分配,系列文章后续会详细说明)。

