jvm面试题库及答案
一、单项选择题(每题2分,共10题)
1.在JVM中,哪个区域用于存储对象实例?
A.程序计数器
B.虚拟机栈
C.堆
D.方法区
答案:C
2.JVM的默认垃圾回收器是?
A.Serial收集器
B.Parallel收集器
C.CMS收集器
D.G1收集器
答案:A
3.以下哪种数据类型在JVM中占用8个字节?
A.int
B.long
C.short
D.byte
答案:B
4.下列哪个不是JVM的运行时数据区?
A.本地方法栈
B.堆外内存
C.程序计数器
D.方法区
答案:B
5.在JVM中,哪个指令用于创建对象?
A.new
B.init
C.load
D.store
答案:A
6.JVM字节码文件的扩展名是?
A..class
B..java
C..jar
D..xml
答案:A
7.以下哪个是JVM调优的参数?
A.-Xmx
B.-cp
C.-d
D.-version
答案:A
8.在JVM中,对象的头部信息一般占用多少字节?
A.4字节
B.8字节
C.16字节
D.32字节
答案:B
9.以下哪种情况会导致JVM发生FullGC?
A.年轻代满了
B.老年代满了
C.方法区满了
D.以上都可能
答案:D
10.下面哪个不是JVM的垃圾回收算法?
A.标记-清除算法
B.复制算法
C.选择排序算法
D.标记-整理算法
答案:C
二、多项选择题(每题2分,共10题)
1.以下哪些是JVM的垃圾收集器?
A.Serial收集器
B.Parallel收集器
C.CMS收集器
D.G1收集器
E.Epsilon收集器
答案:ABCDE
2.JVM的堆可以细分为哪些区域?
A.年轻代
B.老年代
C.永久代
D.元空间
E.直接内存
答案:AB
3.以下哪些操作会影响JVM的性能?
A.频繁创建对象
B.不合理的内存分配
C.长时间的GC停顿
D.过多的线程创建
E.没有及时释放资源
答案:ABCDE
4.以下哪些是JVM的运行模式?
A.解释模式
B.编译模式
C.混合模式
D.安全模式
E.调试模式
答案:ABC
5.以下哪些是JVM调优的目标?
A.减少GC停顿时间
B.提高系统吞吐量
C.降低内存占用
D.提高程序响应速度
E.增强程序稳定性
答案:ABCDE
6.在JVM中,哪些属于引用类型?
A.强引用
B.软引用
C.弱引用
D.虚引用
E.无引用
答案:ABCD
7.以下哪些是JVM的启动参数类型?
A.标准参数
B.-X参数
C.-XX参数
D.自定义参数
E.系统参数
答案:ABC
8.以下哪些会导致JVM的OOM(内存溢出)?
A.堆内存不足
B.栈内存不足
C.方法区内存不足
D.直接内存不足
E.本地方法栈内存不足
答案:ABCDE
9.以下哪些属于JVM字节码指令?
A.iconst_0
B.bipush
C.iload
D.putfield
E.newarray
答案:ABCDE
10.以下哪些是JVM的特性?
A.跨平台性
B.自动内存管理
C.多线程支持
D.动态加载类
E.安全性
答案:ABCDE
三、判断题(每题2分,共10题)
1.JVM是Java语言编写的程序。(错)
2.方法区是线程共享的区域。(对)
3.所有的对象在JVM中都是在堆上分配内存的。(错)
4.G1收集器是最适合所有场景的垃圾收集器。(错)
5.程序计数器是线程私有的。(对)
6.JVM字节码指令是与平台无关的。(对)
7.元空间和永久代的功能完全相同。(错)
8.弱引用的对象在GC时一定会被回收。(错)
9.增加堆内存大小一定会提高JVM的性能。(错)
10.所有的JVM启动参数都可以调整。(错)
四、简答题(每题5分,共4题)
1.简述JVM的垃圾回收机制的主要作用。
答案:JVM的垃圾回收机制主要作用是自动回收不