全面&详细的面试指南:Java虚拟机(JVM)篇 (附答案)
手把手总结Java虚拟机的面试内容!
·
面试考察点
- Java虚拟机(JVM)内存结构
- Java对象常见活动:创建、内存布局、访问定位、如何判断存活
- 垃圾收集相关:垃圾收集算法、垃圾收集器
- 类加载相关:类加载过程、类加载器
- 方法分派模型:静态分派、动态分派
考察点1:Java虚拟机(JVM)内存结构
Java虚拟机在运行Java程序时,会管理着一块内存区域:运行时数据区。这里考察的内容是:
- 内存模型 & 分区具体有哪些
- 每个分区的作用、存放的内容是什么
- Java堆分区内的新生代、老年代划分内存比例及其各自的特点是什么
上述问题的答案,具体请看文章:Carson带你学JVM:图文解析Java虚拟机内存结构
考察点2:Java对象常见活动
主要考察Java对象在底层的一些常见活动,主要包括:
- 一个Java对象是如何被创建的?即Java对象的创建过程。
- 在 Java 对象创建后,是如何被存储在Java内存里的?即Java对象的内存布局。
- 当建立了一个Java对象后,该如何访问到该对象?即Java对象的访问定位。
- 如何判断Java对象是否存活?即**Java对象的存活准则,**包括:引用计数法、引用链法(可达性分析法)的具体相关内容。
上述问题的答案,具体请看文章:
考察点3:垃圾收集相关
主要包括:垃圾收集算法、垃圾收集器
1. 垃圾收集算法
不同的内存区域采用不同的垃圾收集算法,而不同垃圾收集算法决定了垃圾收集的效率 & 效果。主要考察点包括:
- 垃圾收集算法有哪些类型?
- 每种垃圾收集算法的原理、特点、应用场景分别是什么?
- Minor GC 与 Full GC 分别在什么时候发生?
- 如果需要优化垃圾收集方法,有什么方向及思路?
上述问题的答案,具体请看文章:Carson带你学JVM:这是一份全面 & 详细的垃圾收集算法(GC)讲解攻略
2. 垃圾收集器
垃圾收集器是垃圾收集算法的具体实现,考察的内容包括:
- 常见的垃圾收集器有哪些?
- 不同类型的垃圾收集器其优点、缺点是什么?
- CMS收集器跟G1收集器有什么了解?它们的特点分别是什么?
上述问题的答案,具体请看文章:Carson带你学JVM:常见的垃圾收集器学习指南
考察点4:类加载
即Java类是如何被加载的。这里主要考察的内容是:
- 类加载的本质是什么?
- 类加载的过程有哪些步骤?
- 类加载的每个步骤及作用具体是什么?
- 如何确定被加载类在Java虚拟机的唯一性?
- 类加载器有哪些类型?分别负责加载哪种类型的类?
- 如何自定义一个类加载器
- 双亲委派模型具体指的是什么?请阐述其工作流程。
上述问题的答案,具体请看文章:
考察点5:方法分派
方法分派即指:确定执行哪个方法的过程。这里主要考察的内容是:
- 方法分派的类型有哪些?
- 如何理解:变量的静态类型 & 动态类型
- 静态分派及动态分派的定义、特点、应用场景及区别
上述问题的答案,具体请看文章:Carson带你学JVM:方法分派模型-静态分派、动态分派
至此,关于面试指南中的Java虚拟机(JVM) 篇讲解完毕。下面我会对面试内容继续进行讲解,欢迎关注Carson_Ho的CSDN博客!
请点赞!因为你的鼓励是我写作的最大动力!
更多推荐
已为社区贡献17条内容
所有评论(0)