📘 JVM底层精讲 30章 · 性能调优

⭐ 风格 · 清爽活力
01 JVM概述
跨平台原理 JVM发展史 HotSpot架构 与OS关系
02 类加载机制
生命周期 类加载器 双亲委派 打破委派
03 运行时数据区
程序计数器 虚拟机栈 本地方法栈 堆/方法区 运行时常量池
04 堆内存详解
分代设计 对象分配 TLAB 堆参数调优
05 栈内存详解
栈帧结构 栈上分配 逃逸分析 栈溢出调优
06 方法区与元空间
PermGen vs Metaspace 元空间参数 常量池 字符串常量池
07 对象创建与内存布局
创建过程 内存布局 对象头 访问定位
08 垃圾回收概述
什么是GC 触发条件 Stop-The-World 存活判定算法
09 引用类型与回收
强/软/弱/虚引用 ReferenceQueue 软引用缓存
10 垃圾回收算法
标记-清除 标记-复制 标记-整理 分代/三色标记
11 垃圾回收器详解(上)
Serial/ParNew Parallel Scavenge Serial/Parallel Old CMS
12 垃圾回收器详解(下)
G1 (Region/RSet) ZGC (染色指针) Shenandoah
13 GC日志分析与调优
日志格式 文件配置 GCViewer GCEasy
14 JVM参数详解
标准/-X/-XX 调优组合 PrintFlagsFinal
15 JIT编译器
解释/编译执行 C1/C2编译器 分层编译 热点探测
16 编译优化技术
方法内联 逃逸分析 锁消除/粗化 循环优化
17 Java内存模型(JMM)
抽象结构 happens-before 内存屏障 volatile语义
18 锁优化与并发编程
偏向/轻量/重量锁 自旋锁 锁消除/粗化 synchronized vs ReentrantLock
19 性能监控工具(命令行)
jps/jstat/jinfo jmap/jhat/jstack jcmd/jhsdb
20 性能监控工具(可视化)
JConsole VisualVM JMC Arthas
21 性能调优实战(CPU)
CPU飙升排查 线程死锁 频繁GC导致CPU高 JIT编译线程
22 性能调优实战(内存)
堆内存泄漏(MAT) 堆外内存泄漏 OOM分析
23 性能调优实战(IO)
文件IO优化 BIO/NIO/AIO 零拷贝(sendfile) Netty调优
24 性能调优实战(数据库)
连接池(HikariCP) SQL执行计划 索引优化 读写分离/分库分表 MyBatis缓存
25 性能调优实战(应用)
Tomcat调优 Spring Boot调优 Nginx反向代理
26 性能调优实战(代码)
String拼接 集合选择 Stream vs 循环 反射/MethodHandle
27 JVM性能基准测试
JMH编写 死代码消除 常量折叠 分支预测
28 JVM故障处理与案例
Full GC优化 Metaspace OOM 堆外内存泄漏 CPU 100% / 线程池耗尽
29 新一代JVM技术
GraalVM Project Loom Valhalla / Panama
30 JVM调优总结与最佳实践
调优方法论 场景配置模板 误区与陷阱 学习资源