一年一度的面试高峰期又来了,技术学习群的很多朋友问我有没有关于JVM基础面试题,网上各种面试题没有分类很混乱,无法系统性参考学习。
于是,我就把之前整理的以及我面试过的真题和答案都整理了一份分享给大家。共计108道面试题!
持续根据技术群反馈不端更新,将涵盖内容包括: Java设计模式、Spring系列、MyBatis、Dubbo、Elasticsearch、MySQL等技术栈。
关注公众号 + 输入[面试题] + 免费领取面试资料(面试大纲+面试答案)!
mp.weixin.qq.com/s/ydsXboEWk…
一、基础部分
1、什么是Java虚拟机?
2、为什么Java被称作是“平台无关的编程语言”?
3、JVM整体结构。
4、JVM提供的常用工具
5、生产环境CPU占用过高,你如何解决?
6、如何判断一个常量是废弃常量?
7、什么是内存屏障?
8、什么是OSGI?
9、什么是模块化编程与热插拔?
10、什么是方法内联?
11、JVM如何确定垃圾对象?
12、说一下JVM调优的工具?
13、invokedynamic指令是干什么的?
14、如何判断一个Java对象是否存活?
15、强引用、软引用、弱引用、虚引用分别是什么?
16、什么是JAVA软引用?
17、JAVA软引用应用场景?
18、怎么打出线程栈信息?
19、JVM怎么判断一个对象是不是要回收?
20、JVM监控与分析工具你用过哪些?
21、什么是指令重排序?
22、为什么要指令重排序?
23、 指令重排序的3种情况。
二、对象管理
1、双亲委派机制是什么?
2、双亲委派机制该怎么打破?
3、双亲委派机制模型怎么被破坏的?
4、类的实例化顺序是什么?
5、一个类的实例化过程是什么样的?
6、如何判断一个类为无用的类?
7、如何判断一个常量是废弃常量?
8、对象的访问定位有哪几种方式?
9、对象分配内存是否线程安全?
10、JVM创建对象的过程是什么?
11、说一下堆内存中对象的分配的基本策略?
三、类加载
1、类加载为什么要使用双亲委派模式,有没有什么场景是打破了这个模式?
2、Java的类加载是否一定遵循双亲委托模型?
3、谈谈双亲委派模型
4、类加载器
5、 JVM如何执行class中的字节码?
四、内存管理
1、有什么堆外内存的排查思路?
2、SWAP会影响性能么?
3、你都有哪些手段用来排查内存溢出?
4、JVM的内存模型是什么?
5、对象的内存布局了解吗?
6、Java对象的布局了解过吗?
7、说一下堆和栈的区别
8、方法区/永久代(线程共享)
9、JVM堆溢出的原因及解决办法?
10、虚拟机栈和本地方法栈溢出原因及解决办法?
11、方法区溢出原因及解决办法?
12、直接内存溢出
13、本地方法区是线程私有的吗?
14、对象分配内存的方式有哪些?
15、谈谈JVM中的常量池?
16、ZGC了解吗?
17、JVM的运行时内存.
18、JVM程序计数器及其作用。
19、说说JVM线程栈?
20、JDK内置工具有哪些?
21、运行时常量池溢出的原因?
22、堆和栈的区别?
23、 JVM 的内存模型是什么?
五、分代管理
1、对象都是优先分配在年轻代上的吗?
2、分代回收
3、谈谈永久代。
4、说说分代收集概念。
5、新生代中的复制算法。
6、对象如何进入老年代?
7、什么是空间分配担保?
8、对象是怎么从年轻代进入老年代的?
9、JVM新生代中为什么要分为Eden和Survivor?
10、新生代与复制算法.
11、串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
12、谈谈动态年龄如何判断?
六、垃圾回收
1、说说Java垃圾回收机制
2、CMS收集器(多线程标记清除算法)
3、有哪些GC算法?
4、你知道哪些GC类型?
5、CMS分为哪几个阶段?
6、解释Java堆空间及GC?
8、老年代与标记复制算法
9、ZGC收集器中的染色指针有什么用?
10、JVM垃圾回收时候如何确定垃圾?什么是GCRoots?
11、ZGC了解吗?
12、safepoint是什么?
13、jvm垃圾收集器有哪些?
14、怎么查看服务器默认的垃圾回收器是哪一个?
15、生产环境如何配置垃圾收集器?
16、说说CMS垃圾收集器的工作原理。
17、垃圾回收器的基本原理是什么?
18、垃圾回收器可以马上回收内存吗?
19、有什么办法主动通知虚拟机进行垃圾回收?
20、JVM垃圾回收机制,何时触发MinorGC等操作?
21、什么是G1收集器?
22、G1收集器分区划分?
23、为什么G1收集器需要设计巨型对象?
24、G1收集器参数设置?
25、G1两种回收策略分别是?
26、G1收集器的优缺点是什么?
27、GC的回收流程。
28、什么时候会触发FullGC?
29、复制算法(copying)
30、你了解过哪些垃圾收集器?
八、参数命令
1、你知道哪些JVM性能调优
2、说说你知道的几种主要的JVM参数?
3、你都用过G1垃圾回收器的哪几个重要参数?
4、 JVM内存参数.
关注公众号 + 输入[面试题] + 免费领取全部面试资料(面试大纲+面试答案)!
mp.weixin.qq.com/s/ydsXboEWk…