众所周知,在HotSpot中有七个GC,如Serial,CMS,G1等。我感到困惑的是,他们中的所有人还是只有一部分人一次工作?他们如何相互合作以完成垃圾收集的任务? 我很感激这个问题的任何答案。 祝大家好心!
答案 0 :(得分:0)
以下是Java 8中GC algos的可能组合。
-XX:+UseSerialGC
- Serail Young(DefNew)+ Serial Old Mark Sweep Compact
-XX:+UseParallelGC
- Parallel Young(PSYoungGen)+ Serial Old Mark Sweep Compact
-XX:+UseParallelOldGC
- 平行年轻(PSYoungGen)+平行旧马克扫描紧凑
-XX:+UseParNewGC
- Parallel Young(ParNew)+ Serial Old Mark Sweep Compact
-XX:-UseParNewGC -XX:+UseConcMarkSweepGC
- Serial Young(DefNew)+ Concurrent Mark Sweep(Old)
-XX:+UseParNewGC -XX:+UseConcMarkSweepGC
- 平行年轻(ParNew)+并发标记扫描(旧)
-XX:+UseG1GC
- G1
Parallel Scavenge和ParNew非常相似,但ParNew与CMS(并发标记扫描)和Parallel Scavenge兼容,并与Mark Sweep Compact旧空间采集器兼容。
G1仅涵盖年轻和旧的系列。