本文系统梳理了JVM核心面试知识点,涵盖内存区域、垃圾回收机制、引用类型、分代收集理论及主流垃圾回收器。JVM内存划分为线程私有的程序计数器、虚拟机栈、本地方法栈,以及线程共享的堆、方法区和直接内存。垃圾对象识别主要依赖根可达算法,通过GC Roots(如栈中变量、静态引用、JNI引用等)追溯引用链,未达对象视为垃圾。四种引用类型(强、软、弱、虚)影响对象回收优先级。分代收集基于弱/强分代假说,将对象分为新生代(高频回收)和老年代(低频回收),并通过记忆集优化跨代引用处理。常见垃圾回收算法包括标记-清除、标记-复制和标记-整理,各有优缺点。STW(Stop-The-World)机制在GC关键阶段暂停所有用户线程,确保引用关系一致性,其实现依赖安全点(如方法调用、循环处)和安全区域(无引用变化的代码段)。OopMap记录栈中引用位置,避免全栈扫描,提升GC效率。主流的垃圾回收器如Serial、ParNew、Parallel Scavenge(追求吞吐量)、CMS(并发低停顿)及G1、ZGC等,各有适用场景和性能特点。