文章
已发布的全部文章。
CPU 飙高、死锁和长暂停排查
用有时限的 CPU 热点和死锁实验建立线上应急流程,区分计算热点、锁等待、GC 与 safepoint 暂停。
内存泄漏、OOM 与 Heap Dump 实战
在 64 MiB 小堆中安全制造内存泄漏,生成 Heap Dump,并从增长对象、引用链和保留大小定位根因。
jcmd、JFR、VisualVM 与 async-profiler
在有时限的 CPU 热点实验中采集线程栈、JFR 和 CPU Profile,并理解各工具的证据边界。
JVM 参数、日志与容器资源识别
建立 Java 21/25 可审计启动参数模板,校验堆、容器 CPU、内存限制、GC 日志、Heap Dump 与 JFR。
CMS、G1、ZGC 与现代收集器选型
按延迟、吞吐、堆大小和 JDK 版本比较 Serial、Parallel、CMS、G1 与 ZGC,并给出选型实验方法。
GC 基础与三色标记
从 GC Roots、可达性和 Stop-The-World 讲到三色标记、写屏障与并发收集正确性。
解释执行、JIT、分层编译与反优化
通过编译日志观察热点方法如何从解释执行进入 C1、C2 编译,以及假设失效后的反优化。
Class 文件、常量池与字节码指令
编译一个求和方法,使用 javap 读取 Class 版本、常量池、局部变量表、操作数栈和字节码指令。
对象创建、布局、逃逸分析与分配路径
从 new 指令到 TLAB、对象头、字段布局、晋升和逃逸分析,理解对象分配的真实成本。
运行时数据区与 Java 内存模型不要混淆
区分堆、JVM 栈、方法区、元空间与 Java Memory Model,避免把内存位置和并发可见性混为一谈。