- 2
- 0
- 约1.38万字
- 约 14页
- 2026-06-08 发布于河北
- 举报
JVM高级面试题及详细答案
一、核心原理类(高频必问)
1.请详细说说JVM的内存区域划分,以及每个区域的作用、OOM可能出现的场景
答案:JVM内存区域主要分为两大块:线程共享区和线程私有区,注意区分“运行时数据区”和“堆外内存”(堆外内存不属于JVM规范,但实际开发中常涉及)。
1.线程私有区(每个线程独立存在,随线程生命周期销毁,不会有线程安全问题):
-程序计数器:一块极小的内存,记录当前线程执行的字节码指令地址(行号),用于线程切换后恢复执行位置。不会OOM,因为它的内存大小是固定的,只存储行号相关信息。
-虚拟机栈:存储方法调用时的栈帧(包含局部变量表、操作数栈、动态链接、方法出口),每个方法调用对应一个栈帧入栈,方法执行完毕出栈。OOM场景:栈深度过大(如递归调用没有终止条件,导致栈帧不断入栈,超出栈容量);栈容量设置过小(通过-Xss参数配置),也会触发StackOverflowError(属于OOM的一种特殊情况)。
-本地方法栈:和虚拟机栈功能类似,区别是虚拟机栈服务Java方法,本地方法栈服务Native方法(如Object的hashCode()、System.currentTimeMillis())。OOM场景和虚拟机栈一致,同样会出现StackOverflowError。
2.线程共享区(所有线程共用,随JVM启动而创建,关闭而销毁,是OOM
您可能关注的文档
最近下载
- (完整版)土地登记代理人题库附答案【精练】.docx
- 2023-2024学年湖南省长沙市浏阳市五年级(下)期末数学试卷.docx VIP
- 《2013年建设工程工程量清单计价规范》GB50500-2013.pdf VIP
- 2023年施工员《设备安装施工专业管理实务》题库附完整答案(网校专用).docx
- UPS不间断电源操作、维护、检修规程.pdf VIP
- 重庆市2025年普通高中学业水平合格性考试数学试题含参考答案.pdf VIP
- 部编版八、九年级语文上册全册教案(全册教学设计).doc VIP
- 江苏省南京市2026年中考考前模拟最后一卷语文试题(WORD版,含答案).pdf VIP
- 2023年资料员资格考试题库【能力提升】.docx
- 2024-2025学年湖南省长沙市浏阳市五年级(下)期末数学试卷 含解析.docx VIP
原创力文档

文档评论(0)