课程目录

开篇词 (1讲)

  1. 开篇词 _ 为什么我们要学习Java虚拟机?

课程迭代 (5讲)

  1. JDK 24 如何解决虚拟线程的同步绑定难题?
  2. Project Lilliput 如何降低 JVM 内存开销?
  3. 使用Java的模式匹配会影响程序性能吗?
  4. 再次前行|聚焦JDK 24 新特性
  5. 如何使用Class-File API编辑Java字节码?

模块一:Java虚拟机基本原理 (12讲)

  1. 01 _ Java代码是怎么运行的?
  2. 02 _ Java的基本类型
  3. 03 _ Java虚拟机是如何加载Java类的_
  4. 04 _ JVM是如何执行方法调用的?(上)
  5. 05 _ JVM是如何执行方法调用的?(下)
  6. 06 _ JVM是如何处理异常的?
  7. 07 _ JVM是如何实现反射的?
  8. 08 _ JVM是怎么实现invokedynamic的?(上)
  9. 09 _ JVM是怎么实现invokedynamic的?(下)
  10. 10 _ Java对象的内存布局
  11. 11 _ 垃圾回收(上)
  12. 12 _ 垃圾回收(下)

模块二:高效编译 (12讲)

  1. 13 _ Java内存模型
  2. 14 _ Java虚拟机是怎么实现synchronized的?
  3. 15 _ Java语法糖与Java编译器
  4. 16 _ 即时编译(上)
  5. 17 _ 即时编译(下)
  6. 18 _ 即时编译器的中间表达形式
  7. 19 _ Java字节码(基础篇)
  8. 20 _ 方法内联(上)
  9. 21 _ 方法内联(下)
  10. 22 _ HotSpot虚拟机的intrinsic
  11. 23 _ 逃逸分析
  12. 【工具篇】 常用工具介绍

模块三:代码优化 (10讲)

  1. 24 _ 字段访问相关优化
  2. 25 _ 循环优化
  3. 26 _ 向量化
  4. 27 _ 注解处理器
  5. 28 _ 基准测试框架JMH(上)
  6. 29 _ 基准测试框架JMH(下)
  7. 30 _ Java虚拟机的监控及诊断工具(命令行篇)
  8. 31 _ Java虚拟机的监控及诊断工具(GUI篇)
  9. 32 _ JNI的运行机制
  10. 33 _ Java Agent与字节码注入

模块四:黑科技 (3讲)

  1. 34 _ Graal:用Java编译Java
  2. 35 _ Truffle:语言实现框架
  3. 36 _ SubstrateVM:AOT编译框架

尾声 (2讲)

  1. 尾声 _ 道阻且长,努力加餐
  2. 结课测试 _ 这些Java虚拟机的知识你都掌握了吗?