? ? ? Serial Old 收集器是 Serial 收集器的老年代版本, 它是一个单线程收集器, 使用 "标记 - 整理" 算法. 这个收集器的主要意义也是被 Client 模式下的虚拟机使用. 在 server 模式下, 它主要还有两大用途: 一个是在 JDK1.5 及之前的版本中与 Parallel Scavenge 收集器搭配使用, 另外一个就是作为 CMS 收集器的后备元, 在并发收集发生 Concurrent Mode Failure 的时候使用.
? ? ??
? ?
Parallel Old 收集器
? ? ? Parallel Old 是 Parallel Scavenge 收集器的老年代版本, 使用多线程和 "标记 - 整理" 算法. 这个收集器是在 JDK1.6 中才开始提供的, 在此之前, 新生代的 Parallel Scavenge 收集器一直处于比较尴尬的状态. 原因是, 如果新生代选择了 Parallel Scavenge 收集器, 老年代除了 Serial Old 收集器外别无选择. 由于单线程的老年代收集器在服务端应用性能上 "拖累", 即便使用 Parallel Scavenge
也未必能在整体应用上获得吞吐量最大化的效果, 又因为老年代集中无法充分利用服务器多 CPU 的处理能力, 在老年代很呆而且硬件比较高级的环境中, 这种组合的吞吐量甚至还不一定有 ParNew 加 CMS 的组合 "给力".
? ? ? 直到 Parallel Old 收集器出现后,"吞吐量优先" 收集器终于有了比较名副其实的应用组合, 在注重吞吐量及 CPU 资源敏感的场合, 都可以优先考虑 Parallel Scavenge 加 Parallel Old 收集器.
来源: http://www.bubuko.com/infodetail-2921264.html