ohmyblog

#JVM

经典题解析:栈也会内存溢出?StackOverflowError 和 OOM 不是一回事

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「虚拟机栈什么情况下抛 StackOverflowError,什么情况下抛 OutOfMemoryError」是 Java 面试里区分度很高的一题:很多人背过「递归太深会栈溢出」,却说不出栈和 O…

经典题解析:JVM 堆内存为什么分成 Eden 和两个 Survivor

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料,与任何公司的当前招聘无关。「堆内存为什么分代、为什么是两个 Survivor」是 JVM 面试的常驻题——能画出 Eden、S0、S1 的人很多,能讲清「为什么这么设计」的人不多。

经典题解析:CMS 和 G1 垃圾收集器,区别和选型怎么说

先说明属性:这是一篇经典题解析,题目出自本地历史面试资料(见文末来源说明),与任何公司的当前招聘无关。CMS 与 G1 的对比是 JVM 方向的经典题,但这道题有一个常被忽略的时效点:CMS 已经在 JDK 14 中被正式移除,G1 从 JDK 9 起就是默认收集器。