JVM知识体系脑图
2023-12-19 09:12:19 0 举报
AI智能生成
登录查看完整内容
JVM知识体系脑图
作者其他创作
大纲/内容
JVM、JRE、JDK之间的关系
官方文档
JVM官方规范
JRockit JVM
IBM J9VM
HotSpot VM
TaoBao VM
MicroSoft VM
几种JVM
概述
class文件结构
解析工具
字节码指令
jvm字节码
伊甸区(Eden)
幸存者0区 Survivor 0 Space
幸存者1区 Survivor 1 Space
幸存者区(Survivor Space)
新生代 Young
老年代 Old
堆 Heap
元空间 Metaspace
本地方法栈 Native Method Stack
程序计数器(PC寄存器)PC Register
虚拟机栈 Virtual Machine Stack
运行时数据区(Runtime Data Space)
类加载器子系统 Class Loader SubSystem
解释器
JIT即时编译器
垃圾收集器
字节码执行引擎
官网链接
HotSpot VM内存结构
哪些类需要加载
加载
验证
准备
解析
链接
初始化
类加载流程
引导类加载器
扩展类加载器
应用类加载器
自定义类加载器
类加载器
双亲委派机制
沙箱安全机制
相关机制
JDK9中类加载结构的新变化
类加载机制
new关键字
Class的newInstance方法
Constuctor的newInstance方法
。。。。。
对象的创建方式
1、类加载验证
指针碰撞
空闲列表
分配方式
CAS(Compare And Swap)
TLAB(Thread Local Allocate Buffer )
线程安全问题
2、分配内存
3、初始化
4、设置对象头
5、执行init方法
对象的创建流程
对象的实例化
类型指针
运行时元数据
对象头
实例数据
对齐补充
对象的内存布局
句柄访问
直接指针访问
对象的定位方式
对象内存结构
栈上分配
标量替换、锁消除
逃逸分析
动态年龄判断机制
老年代空间分配担保机制
大对象直接进入老年代
对象内存分配
引用计数算法
可达性分析算法
垃圾定位阶段算法
标记-清除算法
标记-复制算法
标记-压缩算法
垃圾清除阶段算法
垃圾回收算法
Serial GC
ParNew
Parallel Scavenge
Parallel Old
Parallel
初始标记 STW
并发标记
重新标记 STW
并发清除
并发重置
回收流程
STAB 原始快照 G1使用
增量更新 GMS使用
写屏障
读屏障 ZGC 使用
漏标问题解决
浮动垃圾
三色标记算法
相关算法
CMS(concurrent mark sweep)低延迟
初始标记
最终标记
筛选回收(根据预估时间选择最优解)
Young Gc
Mix GC
Full Gc(STW)
收集器
ZGC(jdk11开始引用,计划支持TB级别以上)
垃圾回收器
垃圾回收
JVM
0 条评论
回复 删除
下一页