本文主要是介绍Java的JVM自测题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、运⾏时数据区中包含哪些区域?哪些线程共享?哪些线程独享?哪些区域可能会出现 OutOfMemoryError ?哪些区域不会出现 OutOfMemoryError ?
- 二、说⼀下方法区和永久代的关系?
- 三、Java 对象的创建过程?
- 四、对象的访问定位的两种方式知道吗?各有什么优缺点。
- 五、如何判断对象是否死亡(两种方法)。 讲⼀下可达性分析算法的流程。
- 六、JDK 中有几种引用类型?分别的特点是什么?
- 七、堆空间的基本结构了解吗?什么情况下对象会进⼊⽼年代?
- 八、垃圾收集有哪些算法,各自的特点?
- 九、有哪些常见的 GC?谈谈你对 Minor GC、还有 Full GC 的理解。Minor GC 与 Full GC 分别在什么时候发⽣? Minor GC 会发生 stop the world 现象吗?
- 十、讲⼀下 CMS 垃圾收集器的四个步骤。CMS 有什么缺点?
- 十一、并发标记要解决什么问题?并发标记带来了什么问题?如何解决并发扫描时对象消失问题?
- 十二、G1 垃圾收集器的步骤。有什么缺点?
- 十三、ZGC 了解吗?
- 十四、JVM 中的安全点和安全区各代表什么?写屏障你了解吗?
- 十五、虚拟机基础故障处理⼯具有哪些?
- 十六、什么是字节码?类文件结构的组成了解吗?
- 十七、类的⽣命周期?类加载的过程了解么?加载这⼀步主要做了什么事情?初始化阶段中哪⼏种情况必须对类初始化?
- 十八、双亲委派模型了解么?如果我们不想⽤双亲委派模型怎么办?
- 十九、双亲委派模型有什么好处?双亲委派模型是为了保证⼀个 Java 类在 JVM 中是唯⼀的?
- 二十、JDK 中有哪些默认的类加载器?
- 二十一、堆内存相关的 JVM 参数有哪些?你在项⽬中实际配置过了吗?
- 二十二、如何对栈进⾏参数调优?
- 二十二、你在项⽬中遇到过 GC 问题吗?怎么分析和解决的?
- 二十二、GC 性能指标了解吗?调优原则呢?
- 二十二、如何降低 Full GC 的频率?
一、运⾏时数据区中包含哪些区域?哪些线程共享?哪些线程独享?哪些区域可能会出现 OutOfMemoryError ?哪些区域不会出现 OutOfMemoryError ?
提示:把下⾯两张图记在⼼⾥!并且,你还要搞懂这些区域⼤概的作⽤是什么。
二、说⼀下方法区和永久代的关系?
提示:其实就有点像 Java 中接⼝和类的关系
三、Java 对象的创建过程?
提示:下图便是 Java 对象的创建过程,我建议最好是能默写出来,并且要掌握每⼀步在做什么
四、对象的访问定位的两种方式知道吗?各有什么优缺点。
提示:句柄和直接指针。
五、如何判断对象是否死亡(两种方法)。 讲⼀下可达性分析算法的流程。
六、JDK 中有几种引用类型?分别的特点是什么?
提示:JDK1.2 以后,Java 对引⽤的概念进⾏了扩充,将引⽤分为强引⽤、软引⽤、弱引⽤、虚引⽤ 四种(引⽤强度逐渐减弱)。对这些概念简单了解,有印象就可以了。
七、堆空间的基本结构了解吗?什么情况下对象会进⼊⽼年代?
提示:1. ⼤部分情况,对象都会⾸先在 Eden 区域分配。2. ⻓期存活的对象将进⼊⽼年代。3. ⼤对象直接进⼊⽼年代。
八、垃圾收集有哪些算法,各自的特点?
``
九、有哪些常见的 GC?谈谈你对 Minor GC、还有 Full GC 的理解。Minor GC 与 Full GC 分别在什么时候发⽣? Minor GC 会发生 stop the world 现象吗?
``
十、讲⼀下 CMS 垃圾收集器的四个步骤。CMS 有什么缺点?
``
十一、并发标记要解决什么问题?并发标记带来了什么问题?如何解决并发扫描时对象消失问题?
``
十二、G1 垃圾收集器的步骤。有什么缺点?
``
十三、ZGC 了解吗?
``
十四、JVM 中的安全点和安全区各代表什么?写屏障你了解吗?
``
十五、虚拟机基础故障处理⼯具有哪些?
提示: 简单了解⼏个最重要的即可!
十六、什么是字节码?类文件结构的组成了解吗?
提示:在 Java 中,JVM 可以理解的代码就叫做 字节码 (即扩展名为 .class 的⽂件)。 ClassFile 的结构如下:
十七、类的⽣命周期?类加载的过程了解么?加载这⼀步主要做了什么事情?初始化阶段中哪⼏种情况必须对类初始化?
十八、双亲委派模型了解么?如果我们不想⽤双亲委派模型怎么办?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
十九、双亲委派模型有什么好处?双亲委派模型是为了保证⼀个 Java 类在 JVM 中是唯⼀的?
二十、JDK 中有哪些默认的类加载器?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
二十一、堆内存相关的 JVM 参数有哪些?你在项⽬中实际配置过了吗?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
二十二、如何对栈进⾏参数调优?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
二十二、你在项⽬中遇到过 GC 问题吗?怎么分析和解决的?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
二十二、GC 性能指标了解吗?调优原则呢?
可以参考 Tomcat 的⾃定义类加载器 WebAppClassLoader
二十二、如何降低 Full GC 的频率?
这篇关于Java的JVM自测题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!