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?

答案:

1、先去旅游,回来补上~


你可能感兴趣的:(JVM面试题及其答案(待更新))