Q: JVM运行时内存区域划分
Q: 内存溢出OOM和堆栈溢出SOE的示例及原因、如何排查与解决
Q: 如何判断对象是否可以回收或存活
Q: 常见的GC回收算法及其含义
Q: 常见的JVM性能监控和故障处理工具类:jps、jstat、jmap、jinfo、jconsole等
Q: JVM如何设置参数
Q: JVM性能调优
Q: 类加载器、双亲委派模型、一个类的生命周期、类是如何加载到JVM中的
Q: 类加载的过程:加载、验证、准备、解析、初始化
Q: 强引用、软引用、弱引用、虚引用
Q: Java内存模型JMM
Q: Minor GC与Full GC分别在什么时候发生?什么时候触发Full GC;
Q: GC收集器有哪些?CMS收集器与G1收集器的特点。
Q: Java在什么时候会出现内存泄漏;
Q: Java中的大对象如何进行存储;
Q: rt.jar被什么类加载器加载,什么时间加载;
Q: 自己写的类被什么加载,什么时间加载;
Q: 自己写的两个不同的类是被同一个类加载器加载的吗?为什么?
Q: 讲下JVM的大页模式,JVM内存模型;
Q: 为什么新生代内存需要有两个Survivor区?
Q: 几种常用的内存调试工具:jmap、jstack、jconsole;
Q: G1停顿吗,CMS回收步骤,CMS为什么会停顿,停顿时间;
Q: 栈主要存的数据是什么,堆呢?
Q: 堆分为哪几块,比如说新生代老生代,那么新生代又分为什么?
Q: 软引用和弱引用的使用场景(软引用可以实现缓存,弱引用可以用来在回调函数中防止内存泄露);
Q: 为什么JVM调优经常会将-Xms和-Xmx参数设置成一样;
Q: 解释一下自旋;
Q: 解释一下信号量;
Q: sync原理详细,sync内抛异常会怎样,死锁吗?还是释放掉?怎么排查死锁?死锁会怎样?有没有什么更好的替代方案?