1、JVM运行时数据区有哪些?
2、运行时数据区,哪些是线程私有,哪些是线程共享的?
3、运行时数据区,唯一不会出现OOM的区域是哪个?
4、Java方法执行的内存模型是哪个区域?
5、Java对象实例只能存放在Java堆里吗?什么时候对象实例不在Java堆里分配?
6、什么是逃逸分析?什么是标量替换?
7、方法区里面有什么?JDK1.7 、1.8 方法区的区别是什么?
8、什么是指针碰撞?什么是空闲列表?
9、对象的创建过程?
10、什么样的操作或者代码可能导致内存溢出(OOM)?
11、对象头里有什么?
12、对象的内存布局要求任何对象大小必须是多少字节的整数倍?
13、Java虚拟机中栈使用什么方式定位、访问堆中对象的具体位置?
14、说一下句柄访问、直接指针?优缺点?
15、JVM调优的基本参数有哪些?
16、String::intern()含义,JDK1.6、1.7的区域?
17、判断对象回收有几种方法?
18、对象有几种引用?
19、垃圾收集算法有哪些?
20、安全点有哪些?
21、CMS与G1收集器的区别?
22、虚拟机类加载时机?
23、有几种情况下类必须立即初始化?
24、什么是双亲委派模型?
25、历史中几次打破了双亲委派模型?