GC 分代收集算法 VS 分区收集算法
大约 1 分钟
分代收集算法
当前主流 VM 垃圾收集都采用“分代收集”(Generational Collection)算法,这种算法会根据对象存活周期的不同将内存划分为几块,如 JVM 中的,这样就可以根据各年代特点分别采用最适当的 GC 算法。
在新生代-复制算法
每次垃圾收集都能发现大批量对象已死,只有少量存活。因此选用,只需要付出少量存活对象的复制成本就可以完成收集。
在老年代-标记整理算法
因为对象在老年代存活率高、没有额外空间对它进行分担担保,就必须采用或算法来进行回收,不必进行内存复制,且直接腾出空闲内存。