扫码关注公众号
什么是分代垃圾回收机制?
java中不同对象的生命周期是不一样的,不同周期对象课采用不同垃圾回收算法,以提高效率,根据对象活跃程度分为年轻代、年老代、持久
什么是强引用、软引用、弱引用以及虚引用?
1.强引用以前我们使用的大部分引用实际上都是强引用,这是使用最普遍的引用。如果一个对象具有强引用,那就类似于必不可少的生活用品,垃圾回收器绝
简述分代垃圾回收器是怎么工作的?
分代回收器分为新生代和老年代,新生代大概占1/3,老年代大概占2/3;新生代包括Eden、FromSurvivor、ToSurvivor;Eden区和两个survivor区的的空间比例为8:1:1;垃圾回收器的执行流程:把Eden+FromSurvivor存活的对象放入ToSurvivor区;清空Eden+FromSurvivor分区,FromSurvivor和ToSurvivor分区交换;每次交换后存活的对象年龄+1,到达15,升级为老年代,大对象会直接进入老年代;老年代中当空间到达一定占比,会触发全局回收,老年代一般采取标记-清除算法;
JVM年轻代里用的哪些垃圾回收算法?
正确答案是A答案是A首先年轻代分为两个部分,一部分是Eden区,另一部分是Survivor区。其中Survivor区,我们都知道又分为From和To两部分,所以这部分肯定是复制算法。问题是Eden区从结构上看,使用的不是复制算法,那只可能是标记算法。答案里只有D是包含两种算法的,但是标记-清除算法虽然适用于小对象的新生快速改变,但是该算法有一个不适用于新生代的致命缺点,就是GC时程序需要停止运行,一般用于老年代的GC。所以该题只能选A