- 1
- 0
- 约5.61千字
- 约 7页
- 2026-10-13 发布于河北
- 举报
Java底层核心面试题及详细答案(真实面试版)
一、JVM与内存底层
1、JVM的内存区域划分有哪些?各自作用是什么?
JVM运行时数据区分为线程私有和线程共享两大块,是面试高频底层考点,具体划分和作用如下:
线程私有(随线程创建销毁,线程隔离):
1.程序计数器:当前线程执行的字节码行号指示器,记录代码执行位置,用于线程切换后恢复执行。是唯一一个没有OOM的内存区域。
2.虚拟机栈:存放方法执行的栈帧,包含局部变量表、操作数栈、动态链接、方法出口。每个方法调用对应一个栈帧入栈,方法执行结束栈帧出栈。局部变量表存放基本数据类型、对象引用地址。
3.本地方法栈:作用和虚拟机栈类似,专门为JDK中的Native本地方法服务,比如操作系统底层调用的方法。
线程共享(全局唯一,所有线程共享):
1.堆内存:JVM最大的内存区域,所有对象实例、数组都在堆中分配内存,也是垃圾回收的主要区域,分为新生代、老年代。
2.方法区:存放类的元数据、常量、静态变量、即时编译后的代码缓存。JDK8之后彻底废弃永久代,改用元空间,元空间直接使用本地内存,不受JVM堆内存限制。
3.运行时常量池:属于方法区的一部分,存放编译期常量、运行期动态生成的常量,比如字符串常量。
2、堆内存的分代模型和垃圾回收机制?
Java堆采用分代回收思想,依据对象存活时间长短划分区域,提升回收效率,核心分为新生代和
您可能关注的文档
- Java安全高频面试题及详细答案(实战版)_1.docx
- Java包装类高频面试题及详细答案.docx
- Java必背面试题及详细答案(实战完整版)_1.docx
- Java变量与常量基础试题(含详细答案解析).docx
- Java并发编程测试题及详细答案.docx
- Java并发编程高频笔试题及详细答案解析.docx
- Java常见笔试面试题目深度剖析及详细答案.docx
- Java常见算法面试题及详细答案(实战面试版).docx
- Java初级7K岗位面试题及详细答案(实战干货版).docx
- Java初级开发工程师面试题及详细答案(真实职场版).docx
- AIAG CQI-8 中文版 焊装系统评估持续质量改进指南.docx
- AIAG FMEA_4 版 中文版 失效模式及影响分析标准 完整原文.docx
- AIAG APQP_2024 中文版 先期产品质量策划与控制计划指南.docx
- AIAG MSA 第 4 版 中文版 测量系统分析标准完整文档.docx
- IATF 16949 认证规则第 6 版 中文版 IATF 认可获取与维持规则.docx
- AIAG SPC 第 3 版 中文版 统计过程控制标准原文.docx
- 2025 安宁疗护专科护士培训大纲(最新版).docx
- 2025 儿科专科护士培训大纲(最新版).docx
- 2025 骨科专科护士培训大纲(最新版).docx
- 2025 呼吸专科护士培训大纲(最新版).docx
原创力文档

文档评论(0)