滴滴 Java 后端面试:GC机制与垃圾判断方法
面试题目
Q1:Java 的 GC 机制了解吗?判断垃圾的方法有哪些?
参考解析
Q1:Java 的 GC 机制 & 垃圾判断方法
- GC 机制:JVM 自动管理堆内存,定期回收不再使用的对象,开发者无需手动释放内存。
- 引用计数法:为每个对象维护引用计数,计数为 0 时即为垃圾。缺点是无法解决循环引用问题,Java 并未采用此方式。
- 可达性分析法:Java 实际采用的方式。从 GC Roots 出发,沿引用链遍历,无法到达的对象即为垃圾。
- GC Roots 包括:虚拟机栈(本地变量表)中引用的对象、方法区中静态变量引用的对象、方法区中常量引用的对象、本地方法栈(JNI)引用的对象。
- 备考提示:可进一步扩展说明分代收集(新生代/老年代)、常见垃圾收集器(G1、CMS、ZGC)以及 Stop-The-World 概念,体现知识深度。