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