JVM运行时数据区域详解

参考文章:
  • 《Java Se11 虚拟机规范》
  • 《深入理解Java虚拟机-JVM高级特性与最佳实践 第3版》- 周志明
本文基于Java Se 11讲解 。
根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域:
JVM运行时数据区域详解

文章插图
对于不同的虚拟机实现,在运行时数据区的实现上并不完全相同 。对于常用的HotSpot虚拟机来说,它的运行时数据区如下:
JVM运行时数据区域详解

文章插图
主要区别在于,HotSpot使用了直接使用本地内存(即机器本身内存)的元空间(metaspace)来实现方法区 。
下面针对每个具体的数据区域进行详细的介绍 。
1. 程序计数器
程序计数器(

    经验总结扩展阅读