HotSpot中的GC是如何相互配合的

问题描述 投票:0回答:1

众所周知,HotSpot 中有 Serial、CMS、G1 等 7 个 GC。我很困惑的是,它们同时全部工作还是只有部分工作?他们如何相互配合来完成垃圾收集的任务?

garbage-collection jvm-hotspot
1个回答
0
投票

以下是 Java 8 中 GC 算法的可能组合。

  • -XX:+UseSerialGC
    - Serail Young(DefNew)+ 系列 Old Mark Sweep Compact

  • -XX:+UseParallelGC
    - 并行年轻 (PSYoungGen) + 串行旧马克扫描紧凑型

  • -XX:+UseParallelOldGC
    - 并行年轻 (PSYoungGen) + 并行旧马克扫描紧凑型

  • -XX:+UseParNewGC
    - 并行年轻 (ParNew) + 串行旧马克扫描紧凑型

  • -XX:-UseParNewGC -XX:+UseConcMarkSweepGC
    - 串行年轻(DefNew)+并发标记清除(旧)

  • -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
    - 并行年轻(ParNew)+并发标记清除(旧)

  • -XX:+UseG1GC
    - G1

信息来源.

Parallel Scavenge 和 ParNew 非常相似,但 ParNew 与 CMS(并发标记扫描)兼容,而 Parallel Scavenge 与并行 Mark Sweep Compact 旧空间收集器兼容。

G1仅涵盖新旧收藏。

© www.soinside.com 2019 - 2024. All rights reserved.