【问题标题】:Difference between Parallel copy garbage collector and Parallel Scavenge garbage collectorParallel copy垃圾收集器和Parallel Scavenge垃圾收集器的区别
【发布时间】:2015-03-14 17:15:35
【问题描述】:

最近,我正在研究 Java Hotspot Garbage Collector。搜索这个主题,我发现大多数来源使用两个术语,称为“Parallel Scavenge Collector”和“Parallel Copy collector”(如oraclecollectors)。 我很困惑两者之间有什么区别。据我所知,两者都是一样的。我知道复制收集,它将活动对象从“从”移动到“到”空间。如果两个收集器之间存在差异,请提供详细信息。如果不是,为什么它使用术语“清除”而不是“复制”?

【问题讨论】:

    标签: garbage-collection


    【解决方案1】:

    它们是或多或少相同概念的不同实现。

    正如您链接的页面已经说明的那样,它们旨在与对跨代标记有不同需求的不同老一代收集器合作。

    目前热点中一些可能的GC组合在jdk8中已经有been deprecated,在jdk9中已经有will be removed

    引用旧热点常见问题解答:

    另外还有并行年轻代收集器(-XX:+UseParNewGC) 与并发低暂停收集器集成,而 并行垃圾收集器 (-XX:+UseParallelGC) 不是。有一些 与这种整合相关的成本,即使在 不使用并发低暂停收集器。反之平行 垃圾收集器 (-XX:+UseParallelGC) 可以与自适应一起使用 调整大小 (-XX:+UseAdaptiveSizePolicy) 而并行的年轻 代收集器(-XX:+UseParNewGC)不能。

    您可以在this blog post 上找到更多详细信息

    如果这些信息对您来说还不够,我建议您访问hotspot-gc-dev 邮件存档,其中可能包含一些实现细节。

    【讨论】:

    • 感谢您的回复。我有来自page 的怀疑,我认为这是一些差异,但我找不到任何谈论它们之间差异的来源。您能否详细说明一下实施方式是两者之间的区别?
    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2011-11-07
    • 2013-04-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多