Java答题框架垃圾回收

什么情况下使用CMS,什么情况使用G1?

JVM 回答先拆成运行时内存、对象生命周期、垃圾回收器和类加载机制四块。 GC 要说明可达性分析、分代假设、Minor/Full GC,以及常见回收器的目标差异:G1 平衡吞吐和停顿,ZGC 更关注低延迟。

面试Java

答题框架

当前只提供答题框架,不代表已经完成事实与工程边界复核。

这题可以按「结论 -> 原理 -> 场景 -> 风险」来答,重点放在Java里的可落地理解。 答题要点: 1. JVM 回答先拆成运行时内存、对象生命周期、垃圾回收器和类加载机制四块。 2. GC 要说明可达性分析、分代假设、Minor/Full GC,以及常见回收器的目标差异:G1 平衡吞吐和停顿,ZGC 更关注低延迟。 3. 如果问类加载,要讲加载、验证、准备、解析、初始化,以及双亲委派如何避免核心类被篡改和重复加载。 容易被追问: - 频繁 Full GC 怎么排查? - 什么时候会破坏双亲委派? 注意事项: - 不要把方法区、元空间、永久代混为一谈。 - 不要只列名词,要说明适用场景。

答题练习

  1. 1JVM 回答先拆成运行时内存、对象生命周期、垃圾回收器和类加载机制四块。
  2. 2GC 要说明可达性分析、分代假设、Minor/Full GC,以及常见回收器的目标差异:G1 平衡吞吐和停顿,ZGC 更关注低延迟。
  3. 3如果问类加载,要讲加载、验证、准备、解析、初始化,以及双亲委派如何避免核心类被篡改和重复加载。

常见错误

  • 不要把方法区、元空间、永久代混为一谈。
  • 不要只列名词,要说明适用场景。

可能追问

  • 频繁 Full GC 怎么排查?
  • 什么时候会破坏双亲委派?

来源记录

原始来源
小林coding
来源页面
Java虚拟机面试题
最近收录
2026-07-04
官方复核
Java虚拟机面试题、内存模型、JVM的内存模型介绍一下、JVM内存模型里的堆和栈有什么区别?、栈中存的到底是指针还是对象?、堆分为哪几部分呢?、如果有个大对象一般是在哪个区域?、程序计数器的作用,为什么是私有的?、方法区中的方法的执行过程?、方法区中还有哪些东西?、String保存在哪里呢?、String s = new String("abc") 执行过程中分别对应哪些内存区域?