发布时间:2022-08-19 12:13
JVM是大多数Java学习 小白的一道坎,同时也是工作2到3年程序员面试的高频点。通过学习JVM,可以深入理解代码从编译到加载的过程、内存中对象的创建与垃圾回收、日常开发中快速定位性能问题等,当然也是面试不可缺少的加分项。
整理分享的20道JVM面试重点问题及十大模块知识点学习笔记,如果你也想要,文末有免费领取方式。
一、20道JVM面试重点问题(附答案)
1. 内存模型以及分区,需要详细到每个区放什么?
2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点
3. 对象创建方法,对象的内存分配,对象的访问定位
4. GC 的两种判定方法?
5. SafePoint 是什么?
6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点
8. Minor GC 与 Full GC 分别在什么时候发生?
9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
10. 类加载的几个过程?
11.JVM 内存分哪几个区,每个区的作用是什么?
12.如和判断一个对象是否存活?(或者 GC 对象的判定方法)
13.简述 java 垃圾回收机制?
14.java 中垃圾收集的方法有哪些?
15.java 内存模型?
16.java 类加载过程?
17. 简述 java 类加载机制?
18. 类加载器双亲委派模型机制?
19.什么是类加载器,类加载器有哪些?
20.简述 java 内存分配与回收策率以及 Minor GC 和Major GC?