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

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

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

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

各区域:

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

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

jdk6 下的 HotSpot实现

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

jdk8 下的 HotSpot实现

相关推荐
weixin_440784115 小时前
【HandlerThread实现原理】
android·java·开发语言
leoZ2315 小时前
本地跑大模型实战(七):llama.cpp 性能调优,让推理更快更省
java·人工智能·spring·生成对抗网络·语言模型·自然语言处理·llama
mubei-1237 小时前
SpringDAO的用法
java·开发语言·数据库
happymagic7 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
都叫我大帅哥10 小时前
给 Java 程序员的 CSRF 攻击详解:从原理到防御实战
java
江南十四行10 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
fb_1234511 小时前
Linux磁盘分区从入门到实操:MBR_GPT全解析+分区工具实战指南
java·linux·gpt
码智社12 小时前
JSON 零基础到资深全体系教程
java·json
wgego13 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
IKUN家族13 小时前
Spring MVC(四)
java·spring·mvc