JVM 与性能
学习类加载、字节码、运行时内存、JIT、垃圾收集、诊断工具和基于证据的性能调优。
JVM 全景:类、内存、线程与执行引擎
建立从 Java 源码、Class 文件、类加载、运行时内存到机器指令的完整 JVM 心智模型。
类加载的双亲委派、隔离与打破方式
观察 Bootstrap、Platform、Application ClassLoader,理解父优先委派、类型身份和插件隔离。
运行时数据区与 Java 内存模型不要混淆
区分堆、JVM 栈、方法区、元空间与 Java Memory Model,避免把内存位置和并发可见性混为一谈。
对象创建、布局、逃逸分析与分配路径
从 new 指令到 TLAB、对象头、字段布局、晋升和逃逸分析,理解对象分配的真实成本。
Class 文件、常量池与字节码指令
编译一个求和方法,使用 javap 读取 Class 版本、常量池、局部变量表、操作数栈和字节码指令。
解释执行、JIT、分层编译与反优化
通过编译日志观察热点方法如何从解释执行进入 C1、C2 编译,以及假设失效后的反优化。
GC 基础与三色标记
从 GC Roots、可达性和 Stop-The-World 讲到三色标记、写屏障与并发收集正确性。
CMS、G1、ZGC 与现代收集器选型
按延迟、吞吐、堆大小和 JDK 版本比较 Serial、Parallel、CMS、G1 与 ZGC,并给出选型实验方法。
JVM 参数、日志与容器资源识别
建立 Java 21/25 可审计启动参数模板,校验堆、容器 CPU、内存限制、GC 日志、Heap Dump 与 JFR。
jcmd、JFR、VisualVM 与 async-profiler
在有时限的 CPU 热点实验中采集线程栈、JFR 和 CPU Profile,并理解各工具的证据边界。