关于JVM所应该掌握的知识点

  1.     JVM内存模型?算法

  2.     写一段代码实现堆溢出?栈溢出?常量池溢出?方法区溢出?代理

  3.     类的生命周期?对象

  4.     哪四种状况会触发类的初始化(也就是主动引用)?生命周期

  5.     被动引用会触发初始化吗?请举例
        Class对象在堆中的做用?内存

  6.     类加载器(ClassLoader)的类加载模式?为何要选择这种模式?双亲委托加载模式的代码实现?虚拟机

  7.     如何实现自定义的ClassLoader?原理

  8.     JDK动态代理的原理?引用

  9.     虚拟机栈栈帧包含哪些部分以及各部分功能?方法

  10.     字节码执行引擎方法调用中静态分派和动态分派区别?重写与重载?内存分配

  11.     JVM为何选用基于栈的指令集而不是基于二地址指令集?(可移植性)

  12.     动态代理的原理?好处?JDK动态代理与Cglib动态代理的区别?

  13.     垃圾收集算法?标记-清除算法缺点?复制算法缺点?标记-整理算法适用区域?解释一下分代收集算法?

  14.     内存分配与回收策略?

  15.     有哪些垃圾收集器以及各自区别?Serial与ParNew异同点? ParNew与Paralell Scanvenge区别?

        CMS最大特色及显著缺点?

  16.     哪些对象可归为GC Roots?

  17.     MinorGC与FullGC?

相关文章
相关标签/搜索