fundamentals
fundamentals/jvm/index.md
medium
fundamentals-jvm-index
JVM 工程决策四件事 — GC 选型 / 堆参数规约 / OOM 排查 / 类加载与 SPI。Use when 配置 JVM 启动参数 / 选 GC / 排查 OOM / 处理类加载冲突时。
子项索引
| 子项 | 一句话 |
|---|---|
| jvm-gc-selection skill | 给 Java 服务选 GC 的决策 — G1 默认、ZGC 超大堆低延迟(JDK17+)、Parallel 吞吐批处理,以及何时该换 |
| jvm-heap-params skill | JVM 堆启动参数规约 — -Xmx=-Xms 避免扩容抖动、元空间设上限、HeapDumpOnOutOfMemoryError 必加 |
| jvm-oom-troubleshooting skill | 线上 OutOfMemoryError 排查决策树 — 按 OOM 类型分流:堆→jmap+MAT、元空间→类加载泄漏、栈→递归/线程数、直接内存→Netty/NIO |
| jvm-class-loading skill | 类加载规约 — 双亲委派为何不能乱破、SPI 何时合法打破(JDBC/Dubbo)、何时才该自定义 ClassLoader |
JVM · 子项索引
JVM 内功拆成四个独立工程决策点,按你正在做的事下钻:
| 你在做什么 | 进哪个 |
|---|---|
| 给服务选 GC,或现有 GC 停顿/吞吐不达标想换 | gc-selection |
写 -Xmx/-Xms/元空间等堆启动参数 |
heap-params |
线上抛 OutOfMemoryError,要定位是哪种 OOM |
oom-troubleshooting |
遇到 ClassNotFound/NoClassDefFound/SPI 加载不到,或要自定义 ClassLoader |
class-loading |