最近有个好朋友换工作了,面了腾讯后端,跟他要了份面试真题,大家一起来探讨一下,哈哈~
腾讯后端一面
1.JVM内存模型
这个可以复习一下《深入理解Java虚拟机》第12章(Java内存模型和线程)
2.cms和g1有没有了解过,它们有什么区别
-
CMS收集器是老年代的收集器,可以配合新生代的Serial和ParNew收集器一起使用;
-
G1收集器收集范围是老年代和新生代,不需要结合其他收集器使用;
-
CMS收集器以最小的停顿时间为目标的收集器;
-
G1收集器可预测垃圾回收的停顿时间
-
CMS收集器是使用“标记-清除”算法进行的垃圾回收,容易产生内存碎片
-
G1收集器使用的是“标记-整理”算法,进行了空间整合,降低了内存空间碎片。
这个点是可以看《深入理解Java虚拟机》第三章,垃圾收集器与内存分配策略哈
3.谈谈你对垃圾回收的了解,什么时候发生垃圾回收,回收过程
可以讲JVM中一次完整的GC流程是怎样的,对象如何晋升到老年代,如Minor GC,Major GC,full GC这几个讲清楚,还有对象存活判断方法,还有垃圾回收算法,复制算法等等
这个点也是可以看《深入理解Java虚拟机》第三章,垃