Java高级高频面试题及详细真实答案(实战向).docx

Java高级高频面试题及详细真实答案(实战向).docx

Java高级高频面试题及详细真实答案(实战向)

一、JVM核心面试题

1.说一下JVM的内存区域划分,以及各区域的作用、是否线程安全、OOM场景

JVM运行时数据区分为线程私有和线程共享两大块,是工作中排查内存问题的核心基础,具体划分和细节如下:

1)线程私有区域(随线程创建销毁,线程安全)

程序计数器:记录当前线程执行的字节码行号,用于线程切换后恢复执行。是唯一没有OOM的内存区域,无内存溢出风险。

虚拟机栈:存储方法栈帧,包含局部变量表、操作数栈、动态链接、方法出口等。每个方法执行对应一个栈帧入栈,方法结束栈帧出栈。

OOM/异常场景:栈深度超过虚拟机限制抛出StackOverflo

文档评论(0)

1亿VIP精品文档

相关文档