Java虚拟机的内部结构
2021-03-01 12:42:44 0 举报
Java虚拟机的内部结构及线程状态
作者其他创作
大纲/内容
获取锁
开始
类加载器 Class Loader
指向Monitor的指针
字段表
持有偏向锁的线程ID
寄存器分配
GC Roots
常量引用的对象
运行
标注检查
执行引擎
基于计数器的热点探测
ParNew收集器
工作内存
高级中间代码
load
自定义类加载器
验证
解析与填充符号表过程
由所有线程共享的数据区
实例对象Mark Word
卸载
本地代码
use
窥孔优化
元数据区 MetaSpace
类静态属性引用的对象
运行时数据区
assign
是否启用偏向锁
访问标志
分层编译
锁状态标记位
C2
常量池
JVM
unlock
可达对象
中断结束
lock
低级中间代码
魔数
局部变量表
线程状态
应用程序类加载器
同步
write
Humongous
系统类 rt.jar里面的类
Class类元信息
store
Object 2
方法表
启动类加载器
准备
用于同步的监控对象
栈中锁记录的指针
堆 Heap
Eden
垃圾收集器
Object 5
栈上替换OSR
等待
主存
虚拟机栈中引用的对象
解析
词法、语法分析
Survivor
Thread
G1
本地方法栈 Native Method Stacks
加载
程序计数器 PCProgram Counter Register
分析与字节码生成过程
Java编译器 javac.exe
Object 6
本地方法库
字节码解释器java.exe
notifynotifyAll
方法调用计数器
父类索引
扩展类加载器
字节码生成
sleepwaitjoin
Old
就绪
Object 4
read
本地库接口
数据及控制流分析
JNI Local
直接内存(堆外内存) Direct Memory
start
C1
即时编译器 JIT
GC Root
返回地址
填充符号表
版本号
Java内存模型
初始化
waitjoinpark
附加信息
插入式注解处理器
notiyAll
操作数栈
解语法糖
回边计数器
动态链接
连接
线程隔离的数据区
虚拟机栈 VM Stack
接口索引集
Object 1
终止
共享变量
符号表
使用
CMS收集器
阻塞
可回收对象
等待时间
机器代码
Serial收集器
Object 3
0 条评论
回复 删除
下一页