开篇词 | 为什么我们要学习Java虚拟机?
未读
01 | Java代码是怎么运行的?
未读
02 | Java的基本类型
未读
03 | Java虚拟机是如何加载Java类的?
未读
04 | JVM是如何执行方法调用的?(上)
未读
05 | JVM是如何执行方法调用的?(下)
未读
06 | JVM是如何处理异常的?
未读
07 | JVM是如何实现反射的?
未读
08 | JVM是怎么实现invokedynamic的?(上)
未读
09 | JVM是怎么实现invokedynamic的?(下)
未读
10 | Java对象的内存布局
未读
11 | 垃圾回收(上)
未读
12 | 垃圾回收(下)
未读
【工具篇】 常用工具介绍
未读
13 | Java内存模型
未读
14 | Java虚拟机是怎么实现synchronized的?
未读
15 | Java语法糖与Java编译器
未读
16 | 即时编译(上)
未读
17 | 即时编译(下)
未读
18 | 即时编译器的中间表达形式
未读
19 | Java字节码(基础篇)
未读
20 | 方法内联(上)
未读
21 | 方法内联(下)
未读
22 | HotSpot虚拟机的intrinsic
未读
23 | 逃逸分析
未读
24 | 字段访问相关优化
未读
25 | 循环优化
未读
26 | 向量化
未读
27 | 注解处理器
未读
28 | 基准测试框架JMH(上)
未读
29 | 基准测试框架JMH(下)
未读
30 | Java虚拟机的监控及诊断工具(命令行篇)
未读
31 | Java虚拟机的监控及诊断工具(GUI篇)
未读
32 | JNI的运行机制
未读
33 | Java Agent与字节码注入
未读
34 | Graal:用Java编译Java
未读
35 | Truffle:语言实现框架
未读
36 | SubstrateVM:AOT编译框架
未读
尾声 | 道阻且长,努力加餐
未读