Skip to content

JVM

知识脉络

JVM
├── 内存结构
│   ├── 堆(新生代/老年代)
│   ├── 方法区/元空间
│   ├── 栈(虚拟机栈/本地方法栈)
│   └── 程序计数器
├── 垃圾回收
│   ├── 判定算法(可达性分析/引用计数)
│   ├── GC 算法(标记清除/复制/整理)
│   ├── 收集器(CMS/G1/ZGC)
│   └── GC 调优实战
├── 类加载
│   ├── 加载过程(加载→验证→准备→解析→初始化)
│   ├── 双亲委派模型
│   └── 打破双亲委派(SPI/OSGi)
├── JMM(Java内存模型)
│   ├── happens-before
│   ├── 指令重排序
│   └── 内存屏障
└── 排查与调优
    ├── OOM 类型与排查
    ├── 常用工具(jstack/jmap/arthas)
    └── GC日志分析

知识点清单

#题目频率难度状态
1JVM内存结构极高基础todo
2堆内存分代模型极高进阶todo
3垃圾回收算法极高进阶todo
4CMS收集器进阶todo
5G1收集器原理极高困难todo
6ZGC特性困难todo
7类加载过程极高进阶todo
8双亲委派模型极高进阶todo
9打破双亲委派困难todo
10JMM与happens-before困难todo
11OOM类型与排查极高进阶todo
12GC调优实战困难todo
13对象创建过程进阶todo
14对象内存布局进阶todo
15引用类型(强软弱虚)基础todo
16JVM常用调优参数进阶todo
17逃逸分析与栈上分配困难todo
18JIT编译优化困难todo
19Arthas使用实战进阶todo
20Full-GC频繁排查困难todo

口诀速记

  • 内存结构: "堆栈方程(堆/栈/方法区/程序计数器)"
  • GC三算法: "清复整(标记清除/复制/标记整理)"
  • 类加载: "加验准解初"
  • 引用强度: "强软弱虚—>必回收难度递减"

跨域关联