JVM内存模型? 写一段代码实现堆溢出?栈溢出?常量池溢出?方法区溢出? 类的生命周期? 哪四种情况会触发类的初始化(也就是主动引用)? 被动引用会触发初始化吗?请举例 Class对象在堆中的作用? 类加载器(ClassLoader)的类加载模式?为什么要选择这种模式?双亲委托加载模式的代码实现? 如何实现自定义的ClassLoader? JDK动态代理的原理? 虚拟机栈栈帧包含哪些部分以及各部分功能? 字节码执行引擎方法调用中静态分派和动态分派区别?重写与重载? JVM为什么选用基于栈的指令集而不是基于二地址指令集?(可移植性) 动态代理的原理?好处?JDK动态代理与Cglib动态代理的区别? 垃圾收集算法?标记-清除算法缺点?复制算法缺点?标记-整理算法适用区域?解释一下分代收集算法? 内存分配与回收策略? 有哪些垃圾收集器以及各自区别?Serial与ParNew异同点? ParNew与Paralell Scanvenge区别? CMS最大特点及显著缺点? 哪些对象可归为GC Roots? MinorGC与FullGC?