Serial Old 垃圾收集器
老年代垃圾收集器, 与 Serial 一样, 是一个单线程垃圾收集器, 不同的是用的算法不一样(标记 - 整顿)
依据老年代的特点, 有人设计了 标记 - 整顿 (Mark Compact)
算法, 标记过程和 标记 - 革除
算法一样, 然而后续步骤不是间接对可回收对象进行清理, 而是让存活对象向一端挪动, 而后革除掉边界以外的内存,如下图所示。
复制算法
在对象存活比拟高的老年代须要复制大量的对象, 效率将会贬斥, 如果不想节约 50% 的内存, 就须要有额定的空间进行调配担保, 以应答对象 100% 都存活的极其状况, 所以老年代并不实用 复制算法
。
复制收集算法在对象存活率较高时就要进行较多的复制操作,效率将会变低。更要害的是,如果不想节约 50% 的空间,就须要有额定的空间进行调配担保,以应答被应用的内存中所有对象都 100% 存活的极其状况,所以在老年代个别不能间接选用这种算法。
Parallel Old
老年代收集器, 是 Parallel Scavenge 老年代版本, 用的算法是
标记 - 整顿
, 在 JDK1.6 提供, 多线程收集