恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

JVM 知识点整理(由简到难,建议收藏

  • 首页
  • 资讯中心
  • /
  • JVM 知识点整理(由简到难,建议收藏

相关资讯

结构半群与统一表示:历史依赖自适应分形时间框架的范畴化基础与多表示等价性 2026/8/13 16:48:12
持续同调拓扑正则性与无导数奇点检测:拓扑表示对应等价条件与Navier‑Stokes奇异性的拓扑刻画 2026/8/13 16:48:12
聚名网com域名注册优惠码整理 附注册激活优惠码流程 2026/8/13 16:48:12

最新资讯

3分钟网页变应用:PakePlus零代码打包桌面应用的完整指南
DataEase开源BI平台架构设计与实现原理深度解析
PDF补丁丁:免费开源的PDF工具箱终极指南
探寻吴忠市建设局网站背后的城市脉搏与民生温度,了解吴忠市建设局网站如何赋能智慧城市建设
如何快速掌握戴森球计划工厂设计:FactoryBluePrints蓝图库完全指南
一文搞懂lamp-boot的网关统一鉴权:从原理到实践的完整教程

今日推荐

VSCode插件精选:从AI补全到代码规范,打造高效开发环境
如何快速完成文件批量重命名:FreeReNamer终极指南
2026年横评:宁波3大学科小升初机构全面对比

本周热门

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁
如何快速生成中国车牌图片:Python开源工具完整指南
当 LLM 遇见大文档:主流开源项目如何处理上下文超限

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

JVM 知识点整理(由简到难,建议收藏

发布时间:2026/8/13 16:48:12
JVM 知识点整理(由简到难,建议收藏 一、入门基础篇初级必问送分题1. 什么是 JVM它的作用是什么答JVM 即 Java 虚拟机是一台专门执行 Java 字节码的虚拟机器。核心作用三点✅跨平台一次编译、到处运行.java 编译为统一 .class 字节码由各平台 JVM 执行✅自动内存管理自动分配内存、自动垃圾回收避免 C/C 手动内存出错✅代码安全与隔离字节码校验、沙箱机制保障运行安全。2. JDK、JRE、JVM 三者区别答包含关系JDK JRE JVMJVM只负责运行字节码无编译工具JREJVM Java 基础类库只能运行程序不能开发JDKJRE 编译、调试、监控工具完整开发环境。3. Java 程序运行过程答编写.java → javac 编译成 .class 字节码 → JVM 类加载 → 字节码校验 → 解释/编译执行 → 自动内存管理与 GC。4. Java 是跨平台的JVM 是跨平台的吗答Java 跨平台JVM 不跨平台。不同操作系统需要安装对应版本的 JVMJVM 屏蔽系统差异从而实现 Java 字节码跨平台运行。二、JVM 内存结构篇中级高频核心1. JVM 运行时数据区有哪些哪些线程私有、哪些共享答线程私有随线程生灭程序计数器记录当前执行字节码行号唯一无 OOM 区域虚拟机栈存储栈帧、局部变量表、方法调用与返回信息本地方法栈为虚拟机使用到的本地Native方法服务。线程共享全局堆 Heap所有对象、数组存放位置GC 主战场元空间 MetaspaceJDK8存类结构、方法、常量、静态变量。2. 栈和堆的区别答栈线程私有、速度快、空间小、方法结束自动释放、无 GC堆线程共享、空间大、速度慢、需要 GC 回收、容易 OOM。口诀栈存局部变量堆存对象实例。3. JDK8 为什么废除永久代、改用元空间答永久代大小固定容易出现 PermGen OOM元空间使用本地直接内存不再占用堆内存动态扩容默认几乎无上限大幅减少类加载 OOM。4. 常见 OOM 内存溢出场景答四种最常见堆 OOM对象过多、内存泄漏、大对象堆积元空间 OOM动态生成大量类、CGLIB 代理、频繁热部署栈溢出递归死循环、方法调用层级过深StackOverflowError直接内存 OOMNIO 未释放 ByteBuffer。5. 深拷贝和浅拷贝答浅拷贝shallowCopy只是增加了一个指针指向已存在的内存地址深拷贝deepCopy是增加了一个指针并且申请了一个新的内存使这个增加的指针指向这个新的内 存三、GC 垃圾回收篇面试重中之重1. JVM 如何判断对象是否可回收答主流采用 可达性分析算法。从 GC Roots 出发遍历对象图不可到达的对象即为垃圾对象。GC Roots 包含栈中引用对象、静态变量、常量、本地方法引用、活跃线程。补充早期引用计数法无法解决循环引用已被 JVM 废弃。2. JVM 四种引用类型及场景答强度从高到低强 软 弱 虚强引用默认引用只要存在就不回收普通业务对象比如 Object obj new Object()软引用 SoftReference内存充足不回收内存即将 OOM 才回收适合做缓存弱引用 WeakReference下次 GC 必回收适用于 ThreadLocal虚引用 PhantomReference仅用于监控对象回收不能获取对象实例。3. 新生代与老年代特点对象晋升规则答新生代Eden S0 S18:1:1对象新生、存活少、GC 频繁、速度快老年代存活久、体积大、GC 少、耗时高。晋升条件对象新生代存活满 15 次 GC 晋升老年代大对象直接进入老年代避免新生代复制开销。4. Minor GC、Major GC、Full GC 区别答Minor GC只回收新生代频率高、STW 短影响小Major GC主要回收老年代通常伴随 Minor GCFull GC全堆回收新生代老年代元空间STW 最长、最耗性能线上尽量避免。5. 常见垃圾收集器对比与生产选型答Parallel吞吐量优先JDK8 默认适合后台任务、批量服务CMS低延迟、并发回收适合高并发互联网服务缺点内存碎片、浮动垃圾G1分区收集、可控制停顿时间JDK9 默认均衡吞吐量与延迟ZGC超低延迟、毫秒级停顿适合超大堆、核心高可用服务。四、类加载机制篇中高阶必问1. 类加载的全过程答五大阶段加载 → 验证 → 准备 → 解析 → 初始化加载读取 class 文件生成 Class 对象验证校验字节码合法性、安全性准备静态变量分配内存、赋默认值解析符号引用转为直接内存引用初始化执行静态代码块、静态变量赋值。2. 什么是双亲委派模型作用答类加载器加载类时先向上委托父加载器父加载器无法加载自己再加载。加载器层级启动类加载器 → 扩展类加载器 → 应用类加载器 → 自定义加载器核心作用保证 JDK 核心类安全防止被自定义类篡改如 String、Object避免类重复加载保证类唯一性。3. 哪些场景会打破双亲委派答四大经典场景JDBC、Dubbo 等 SPI 服务扩展Tomcat 容器隔离不同项目类、热部署OSGi 模块化动态热更新自定义类加载器实现加密、热加载。五、底层进阶篇高级开发面试点1. 什么是 STW哪些 GC 会产生 STW答STWStop-The-World即暂停所有用户线程只保留 GC 线程工作是程序卡顿的根本原因。所有 GC 都会 STW只是时长不同Minor GC短暂 STW几乎无感Full GC长时间 STW直接导致接口超时、服务卡顿。2. 内存泄漏和内存溢出的区别常见泄漏场景答内存泄漏无用对象一直被引用GC 无法回收是持续过程内存溢出 OOM泄漏累积到内存耗尽是最终结果。高频内存泄漏场景静态集合无限堆积数据不清理ThreadLocal 使用后未 remove线程复用导致对象常驻内存IO、数据库、连接池资源未关闭缓存无过期、无淘汰策略匿名内部类、异步线程持有外部对象引用。3. 对象在 JVM 中的创建流程答检测类是否已加载未加载则执行类加载堆内存分配指针碰撞 / 空闲列表初始化对象默认值设置对象头信息执行构造方法初始化返回对象引用。六、线上调优与故障排查大厂压轴题1. 生产常用 JVM 参数答-Xms 初始堆内存、-Xmx 最大堆内存生产建议相等避免动态扩容-Xmn 新生代大小-XX:MetaspaceSize / MaxMetaspaceSize 元空间参数-Xss 线程栈大小-XX:UseG1GC 使用 G1 收集器-XX:PrintGCDetails 打印 GC 日志。2. 线上频繁 Full GC 如何排查答标准排查流程查看 GC 日志确认是内存泄漏还是内存不足jps 查看进程、jstat -gc 实时监控 GC 频率与耗时jmap 查看堆对象分布dump 堆快照使用 MAT/JProfiler 分析大对象、泄漏对象、重复对象定位代码问题缓存、静态集合、ThreadLocal、资源未释放修复代码 调整 JVM 参数 压测验证。3. 什么时候需要做 JVM 调优答出现以下现象必须调优Full GC 频繁、GC 停顿时间过长接口响应抖动、超时、CPU 飙高服务频繁 OOM、重启、内存水位持续居高不下。七、写在最后JVM 面试的核心逻辑非常清晰初级考概念、内存结构、GC 基础中级考引用类型、回收机制、类加载、双亲委派高级考收集器选型、STW、内存泄漏、线上 GC 调优、故障排查。本文从易到难全覆盖不仅适用于面试背诵更能帮你建立完整的 JVM 底层思维。如果对你有帮助点赞、分享、推荐一下呀对主编都是很大的帮助。留一个疑问欢迎评论区讨论User user new User() 做了什么操作申请了哪些内存

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号