它们是年轻一代垃圾收集的算法。

第二个(USEPARNEWGC)使用并发的持久发电垃圾收集自动激活(请参阅Java并发和平行GC)但是,两种平行算法之间是否存在差异?

答案

经过大量搜索,我发现的最好的解释是来自Java性能调整网站本月问题:1.4.1垃圾收集算法,2003年1月29日

Young generation garbage collection algorithms

这*(原始)复制收藏家*(默认启用)。

并行复制收集器(使用-XX启用:+useParnewGC)。就像原始复制收藏家一样,这是一个停留世界的收藏家。但是,该收集器将复制集合在多个线程上并行,这比多CPU机器的原始单线程复制收集器(尽管不是用于单CPU机器)更有效。与原始的单读复制收藏家相比,该算法可能会加快年轻一代集合的速度。

平行的清除收藏家(使用-XX启用:useParallealGC)。这就像以前的并行复制收集器一样,但是该算法是在多CPU机器上调整为千兆字节堆(超过10GB)的。该集合算法旨在最大程度地提高吞吐量,同时最大程度地减少停顿。它具有可选的自适应调整策略,该策略将自动调整堆空间大小。如果您使用此收藏家,则只能在旧一代中使用原始的标记 - 清扫收藏家(即,较新的旧一代并发收藏家无法与这个年轻一代的收藏家合作)。

从这些信息中,似乎主要区别(除了CMS合作外)是UseParallealGC支持人体工学虽然USEPARNEWGC没有。

来自: stackoverflow.com