在JVM中,哪些内存区域可能发生OutOfMemoryError?请分别说明触发条件。
考察说明
考察JVM运行时数据区划分及OOM触发场景的理解
回答思路
- 准确列举堆、方法区/元空间、虚拟机栈、本地方法栈、直接内存等区域
- 说明堆OOM主要由对象无法分配触发,区分内存泄漏与内存不足
- 说明栈OOM:栈深度超限(StackOverflowError)与栈扩展失败(OutOfMemoryError)
- 说明元空间OOM与加载类过多相关,直接内存OOM与NIO分配相关
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。