一、内存区域
- 介绍下 Java 内存区域(运行时数据区)
- 内存分配方式
- 内存分配并发问题
- 对象的访问定位的两种方式(句柄和直接指针两种方式)
二、垃圾回收
- 如何判断对象是否死亡(两种方法)。
- 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。
- 如何判断一个常量是废弃常量
- 如何判断一个类是无用的类
- 垃圾收集有哪些算法,各自的特点?
- HotSpot 为什么要分为新生代和老年代?
- 一个对象从新生代到永久代(或元空间)的生命周期?
- 常见的垃圾回收器有哪些?
- 介绍一下 CMS,G1 收集器。
- Minor Gc 和 Full GC 有什么不同呢?
三、类加载机制
- Java 对象的生命周期?
- Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)
- 什么是双亲委派机制?有什么好处?
- 打破双亲委派怎么操作?有什么具体案例?
四、答案
仓库地址:欢迎串门
https://github.com/BlueBeastMight/jvm-notes.git