参考答案
结论:JVM内存分为线程私有区(程序计数器、虚拟机栈、本地方法栈)与线程共享区(堆、方法区/元空间);GC主要回收堆中无效对象,采用分代收集。要点:1.内存结构:堆分新生代(Eden、Survivor)和老年代,栈存局部变量与栈帧,方法区存类元数据;2.GC算法:新生代用复制算法,老年代用标记-整理或清除;3.判定垃圾:可达性分析从GC Roots出发;4.回收类型:Minor GC清新生代,Major GC清老年代,Full GC全堆;5.常见收集器:G1、CMS、Parallel等,平衡吞吐与停顿。