- 3
- 0
- 约1.33万字
- 约 13页
- 2026-04-18 发布于河北
- 举报
JVM性能调优面试题及详细答案
一、基础核心题(必问,考察基础掌握度)
1.说说你理解的JVM内存模型,哪些区域会发生OOM?实际工作中你遇到过哪种OOM,怎么解决的?
答案:JVM内存模型(基于HotSpot)主要分为5个区域,核心是堆、方法区,其次是虚拟机栈、本地方法栈、程序计数器,每个区域的作用和OOM场景不一样,结合实际工作说更真实:
1.程序计数器:唯一不会OOM的区域,作用是记录当前线程执行的字节码行号,线程私有,内存极小。
2.虚拟机栈:线程私有,存储栈帧(局部变量、操作数栈等),出现OOM的场景是“StackOverflowError”(栈深度超出限制,比如递归无终止条件),注意:虚拟机栈默认可以动态扩展,理论上也会OOM,但实际开发中几乎遇不到,常见的是StackOverflowError。
3.本地方法栈:和虚拟机栈类似,区别是执行本地(Native)方法,同样会出现StackOverflowError,OOM极少。
4.方法区(元空间,JDK8及以后替代永久代):存储类信息、常量、静态变量、JIT编译后的代码,会发生OOM(比如大量动态生成类,如Spring动态代理、MyBatis映射器代理,导致元空间溢出)。
5.堆:线程共享,存储对象实例和数组,是OOM最常发生的区域(java.lang.OutOfMemoryError:Java
您可能关注的文档
最近下载
- D-Z-T 0462.3-2023 矿产资源“三率”指标要求 第3部分:铁、锰、铬、钒、钛(正式版).docx VIP
- 网络系统建设与运维中级 第7章 IPv6协议v3.2.pptx VIP
- 电子科技大学-2018.6月计算复杂性考试.docx VIP
- 吊篮施工计算书.pdf VIP
- 基于PLC的三工位钻床工作台控制系统设计.pptx VIP
- 化工仪表及自动化课件共58张PPT).pptx VIP
- 光固化胶水知识讲座课件.ppt VIP
- EN_IEC_61800-3-2018 可调速电力驱动系统第3部分:EMC要求和具体测试方法.pdf VIP
- 运动性肌肉损伤诊疗专家共识(2026版).docx
- AKH-0.66-200X50II低压电流互感器规格书.pdf VIP
原创力文档

文档评论(0)