JVM体系结构(运行时数据区)初解

JVM体系结构(运行时数据区)初解

JVM是一个抽象的概念,它是一个规范

我们主要要了解的是 JVM规范中的 运行时数据区

各区域:

  • 程序计数器:存放下一次执行的字节码指令
  • 虚拟机栈:调用普通方法时压栈出栈,存放调用方法的栈帧,内部有局部变量表和操作数栈、动态连接以及方法出口;可能抛出 StackOverflowError、OutOfMemoryError
  • 本地方法栈:调用本地方法时的压栈出栈。(C++)写的动态链接库,举个例子:在Object类中查找本地方法 hashcode(); 方法。
  • 堆:new 出的对象和数组存放的地方。是GC的主要区域
  • 方法区:类元信息(类结构、字段、方法)、常量、静态变量
  • 运行时常量池:主要就是 符号引用、字面量

而Java虚拟机规范也有许多的具体实现,其中最为出名的就是 HotSpot

jdk6 下的 HotSpot实现

jdk7(过渡版本)下的HotSpot实现

jdk8 下的 HotSpot实现

相关推荐
DFT计算杂谈2 小时前
eDMFT安装教程
java·服务器·前端·python·算法
hunter1990102 小时前
java开发学习阶段
java
Dxy12393102162 小时前
Python图片转PDF:高效实现多图合并与自定义布局
java·python·pdf
okiseethenwhat2 小时前
冒泡排序的面试话术和写法解析
java
盐水冰2 小时前
MybatisPlus
java·mybatisplus
SunnyDays10112 小时前
使用 Java 提取和删除 PDF 文档附件(完整指南)
java·pdf
Stack Piston2 小时前
Spring实践@Cacheable坑
java·后端·spring
二宝1522 小时前
互联网大厂Java面试实战演练:谢飞机的三轮提问与深入解析
java·spring boot·redis·微服务·面试·kafka·oauth2
陌上花开zz2 小时前
Spring Boot整合EasyExcel,动态导出表头和数据
java·spring boot·easyexcel·动态导出