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

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

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

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

各区域:

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

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

jdk6 下的 HotSpot实现

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

jdk8 下的 HotSpot实现

相关推荐
刀法如飞7 小时前
AI时代:DDD领域驱动建模与Ontology语义建模的区别
java·设计模式·架构
jeffer_liu7 小时前
Spring AI 生产级实战:工具调用
java·人工智能·后端·spring·ai编程
比昨天多敲两行7 小时前
linux 线程概念与控制
java·开发语言·jvm
8Qi87 小时前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
zzhongcy7 小时前
@Transactional 同类内部调用失效 + 两种自代理解决方案
java
AutumnWind04208 小时前
【Intelij IDEA使用手册】
java·ide·intellij-idea
就叫_这个吧9 小时前
Java注解、元注解、自定义注解定义及应用
java·开发语言·注解
Sam_Deep_Thinking9 小时前
聊聊Java中的of
java·开发语言·架构
NE_STOP10 小时前
Docker--管理监控平台的应用
java
爱吃羊的老虎11 小时前
【JAVA】python转java:Spring Boot 入门
java·spring boot·python