585 字
3 分钟
JVM 面试导读:内存、类加载、对象与垃圾回收

JVM 第一轮建立从字节码到对象再到回收的完整路线。以 HotSpot 的常见实现帮助理解,同时分清规范概念和具体实现,避免把某个 JDK 或收集器的细节背成永远成立的规则。

知识地图#

字节码 → 类加载/初始化 → 执行引擎
→ 运行时数据区 → 对象分配/引用
→ 可达性分析 → GC
→ 日志/线程栈/堆排障

阅读路线与目录#

导读排在系列最前面,下面的顺序与专题导航一致。每篇先读问题和解释,再尝试不看答案口述“是什么、怎么工作、有什么边界”,不需要逐句背原文。

专题掌握标准
JVM 总览知道类加载、内存、执行引擎和 JNI 的职责。
运行时内存区分堆、方法区、栈、计数器和元空间实现。
类加载与双亲委派区分准备与初始化,理解类身份。
对象与四种引用解释 TLAB、晋升和强软弱虚引用。
可达性分析能用循环引用例子解释是否存活。
补充:GC Roots查漏根路径,不必与上一文章重复背诵。
回收算法比较标记清除、复制和整理。
常见收集器知道 Parallel、G1、ZGC 的目标,CMS 按历史知识理解。
GC 名称与范围知道术语受实现影响,Full GC 频繁不能直接等于泄漏。
基础排障把 CPU、内存现象对应到线程栈、GC 和对象引用证据。

第一轮准备到哪里?#

按前五篇建立主线,再读算法、收集器、GC 名称和排障。GC Roots 是补充速查。暂不展开 G1/ZGC 屏障源码、完整调优参数列表和复杂线上容量建模。

自查问题#

  • 方法区与元空间是什么关系,字符串常量池在哪里?
  • 加载类是否一定执行静态代码块?
  • 两个对象互相引用为什么仍可能回收?
  • OOM 是否只与堆大小有关?

回答这些问题时,先给结论,再说明机制,最后用文章中的例子或边界验证。答不清时回到对应专题,不另外堆一套重复题库。

相关系列#

框架学习接 Spring 导读。

JVM 面试导读:内存、类加载、对象与垃圾回收
https://blog.xqcherry.top/posts/interview/jvm/jvm-interview-roadmap/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0