posts

《Java 虚拟机原理与性能调优》 · 全书目录与章节索引(31 篇)

《Java 虚拟机原理与性能调优》全 31 篇,承接卷三 libraryd,用 jcmd、JFR、GC 日志与堆转储讲清类加载、对象布局、JIT、垃圾回收、内存诊断、线程锁运行时、启动加速与综合压测调优:10 章 30 节加目录的完整索引。

《Java 虚拟机原理与性能调优》全 31 篇,是 Java 四卷本的收官卷。卷三把 libraryd 的类型、反射、类加载、并发和性能工具拆开讲了一遍;卷四换一个视角,把同一个服务当成观测对象:第 1–2 章建立研究方法、实验口径与类文件基础,第 3–4 章看内存布局与执行引擎,第 5–6 章讲垃圾回收的原理与调优,第 7–8 章做内存与线程诊断,第 9–10 章收束到启动加速、压测、调优决策与容量规划。

本页是《Java 虚拟机原理与性能调优》的全书目录:按章节顺序列出全部 31 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条学习路径。

全书概览

项目内容
书稿《Java 虚拟机原理与性能调优》
篇数31 篇(正文 10 章 30 节 + 目录篇)
领域JVM 运行时、垃圾回收、JIT、诊断与性能工程
贯穿项目libraryd —— 不新增业务,只做观测、压测与调优
阅读方式从目录篇 进入按顺序通读,或按症状跳读
主线版本JDK 25 LTS(Temurin 25.0.5+8)、Maven 3.9.12
关键依赖JOL 0.17、Byte Buddy 1.18.16、JMH 1.37
上级专题书稿专题

全书目录

前置

节文章核心内容
—目录与学习路径全书导航页:三条路径、十章结构、实验口径与项目状态

第一部分:方法与数据(第 1–2 章)

节文章核心内容
1.11.1 从现象到机制:JVM 研究的四条路径现象、假设、实验、证据;jcmd、flags、日志与转储
1.21.2 建立可复现的实验环境:CPU、堆与固定参数固定 JDK、CPU、堆与 GC;warmup、重复与分位
1.31.3 观测工具全景:jcmd、JFR、GC 日志与 JMC工具分工、开销、RuntimeProbe 与 JFR 事件
2.12.1 类文件结构:常量池、方法表与属性javap -v、class 版本 69、record 的 invokedynamic
2.22.2 类加载过程:加载、链接、初始化与双亲委派-Xlog:class+load、类加载器层次、类标识
2.32.3 字节码执行模型:栈帧、局部变量表与操作数栈javap -c、五类调用指令、异常表与局部变量槽

第二部分:内存与执行(第 3–4 章)

节文章核心内容
3.13.1 运行时数据区:堆、栈、元空间与代码缓存NMT、VM.metaspace、各区域上限与内存预算
3.23.2 对象布局:对象头、压缩指针与字段重排JOL、Mark Word、压缩 oops、对齐与字段重排
3.33.3 分配与 TLAB:指针碰撞、线程本地缓冲与大对象TLAB 日志、PLAB、Humongous、分配速率
4.14.1 解释执行与分层编译:C1、C2 与阈值PrintCompilation、tier 0–4、代码缓存与 OSR
4.24.2 即时编译优化:内联、逃逸分析与去虚拟化PrintInlining、单态/巨态调用、标量替换
4.34.3 反优化与 OSR:代码什么时候退回解释器uncommon trap、类层次变化、jdk.Deoptimization

第三部分:垃圾回收(第 5–6 章)

节文章核心内容
5.15.1 可达性分析与引用类型:从 GC Root 到 CleanerGC Roots、强/软/弱/虚引用、ReferenceQueue
5.25.2 分代假设与回收算法:复制、标记与整理弱分代假设、三色标记、卡表与记忆集
5.35.3 收集器谱系:Serial、Parallel、G1、ZGC 与 Shenandoah目标、停顿、吞吐与选型边界
6.16.1 GC 日志解析:统一日志、停顿指标与分配失败-Xlog:gc*、字段含义、轮转与汇总脚本
6.26.2 G1 调优:Region、Humongous 与 Mixed GCRegion 4 MB、Humongous、IHOP、暂停目标
6.36.3 ZGC 与低延迟取舍:染色指针、读屏障与停顿分代 ZGC、并发重定位、吞吐代价与对照

第四部分:诊断与运行时(第 7–8 章)

节文章核心内容
7.17.1 堆转储与支配树:从 hprof 到保留大小GC.heap_dump、直方图、shallow/retained size
7.27.2 内存泄漏定位:增长曲线、直方图与引用链泄漏 demo、HeapDumpOnOutOfMemoryError、引用链
7.37.3 元空间与直接内存:类生成与堆外泄漏Metaspace OOM、MaxDirectMemorySize、类卸载
8.18.1 线程栈与转储:从 jstack 到 JSON 线程容器Thread.print、JSON dump、死锁与虚拟线程容器
8.28.2 锁的运行时实现:对象头、Monitor 与膨胀Mark Word、轻量级/重量级锁、JFR Monitor 事件
8.38.3 虚拟线程的运行时:Continuation、载体与调度mount/unmount、载体池、JEP 491 与剩余 pin 场景

第五部分:启动、压测与决策(第 9–10 章)

节文章核心内容
9.19.1 启动耗时分解:类加载、解释执行与首请求-Xlog:init、类加载计数、冷启动与首请求
9.29.2 CDS 与 AppCDS:共享归档的构建与验证ArchiveClassesAtExit、归档失效条件与收益
9.39.3 AOT 缓存与 Native Image:边界与取舍AOTMode 三阶段、目录限制、Native Image 取舍
10.110.1 压测设计与指标口径:吞吐、分位与协调缺失ab、p50/p95/p99、Little’s law、warmup
10.210.2 一次完整的调优:从现象到参数现象→证据→假设→改动→回归的完整链条
10.310.3 建立回归基线与容量规划基线 JSON、阈值、容量模型与扩容触发

怎么读这套书

与站内其他内容的关系

全部文章 game Indie Java golang Books 客户端开发 Minigame Saas rust Python