JVM面试

1. 内存模型以及分区,需要详细到每个区放什么。Java内存模型:2. 堆里面的分区:Eden,survival from to,老年代,各自的特点。Java堆分为新生代和老年代,新生代又分为一块较大的Eden区和两块较小的Survivor区(From Survivor和To Survivor)。 新生代:里面的对象朝生夕灭,每次垃圾收集时都会都有大量的对象死去,只有少量存活,Eden内存不够时,发起Minor GC,选用复制算法,只要付出少量存活对象的复制成本就可以完成收集,分配担保机制。 老年代:对象的存活时间较长,没有额外的分配担保机制,内存不够时发起Full GC,使用“标记-清除”或“标记-整理”来进行垃圾回收。3. 对象创建方法,对象的内存分配,对象的访问定位。4. GC的两种判定方法:引用计数与引用链。5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?6. GC收集器有哪些?CMS收集器与G1收集器的特点。7. Minor GC与Full GC分别在什么时候发生?8. 几种常用的内存调试工具:jmap、jstack、jconsole。9. 类加载的五个过程:加载、验证、准备、解析、初始化。10. 双亲委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。11. 分派:静态分派与动态分派。

你可能感兴趣的:(JVM)