JVM 面试知识点提纲

221 阅读1分钟

1. 运行时数据区(略)

2. 类加载

  1. 生命周期

加载;链接(验证,准备,解析);初始化;使用;卸载

  1. 双亲委派机制
  1. 启动类加载器;扩展类加载器;应用类加载器。
  2. 类加载器在加载类的时候会先询问自己的父加载器,可以通过重写 losdClass() 方法打破。

3. class 文件

魔数;常量池;类型信息;方法信息;域信息。

4. GC

4.1 G1 垃圾回收全过程(CMS的异同)

  1. youngGC 是一个 STW 的过程,伊甸园区满时触发;
  2. mixedGC 在老年代达到45%时触发,先进行一个 youngGC 与 Roots 标记,这是 STW 的,之后并行三色标记,之后再进行一个 STW 的快照校准,之后是并行清理。

4.2 记忆集与脏卡表

G1 中每个 Regin 都维护一个记忆集,记录指向此 Regin 的指针,避免遍历老年代,脏卡表用于更新记忆集。