专栏
扫码关注公众号
请简单描述一下垃圾回收器的基本原理是什么?还有垃圾回收器可以马上回收内存吗?并且有什么办法可以主动通知虚拟机进行垃圾回收呢?
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有
jvm有哪些 GC 算法?
标记-清除算法分为标记和清除阶段,首先从每个GCRoots出发依次标记有引用关系的对象,最后清除没有标记的对象。执行效率不稳定,如果堆包含大
你知道哪些内存分配与回收策略?
对象优先在Eden区分配大多数情况下对象在新生代Eden区分配,当Eden没有足够空间时将发起一次MinorGC。大对象直接进入老年代大对象
简述分代垃圾回收器是怎么工作的?
分代回收器分为新生代和老年代,新生代大概占1/3,老年代大概占2/3;新生代包括Eden、FromSurvivor、ToSurvivor;Eden区和两个survivor区的的空间比例为8:1:1;垃圾回收器的执行流程:把Eden+FromSurvivor存活的对象放入ToSurvivor区;清空Eden+FromSurvivor分区,FromSurvivor和ToSurvivor分区交换;每次交换后存活的对象年龄+1,到达15,升级为老年代,大对象会直接进入老年代;老年代中当空间到达一定占比,会触发全局回收,老年代一般采取标记-清除算法;