Serial Mark-Sweep-Compact(PSOldGen)PS代表什么?

mer*_*nan 2 java garbage-collection

当我搜索我在gc日志中看到的PSOldGen垃圾收集器时,我发现它是Serial Mark-Sweep-Compact.如果这个gc是串行的,PSOldGen中的PS代表什么?AFAIK它是平行清除.但这让我很困惑.

[Full GC [PSYoungGen: 647K->0K(60352K)] [PSOldGen: 45361K->45875K(54528K)] 46008K->45875K(114880K) [PSPermGen: 10201K->10201K(21248K)], 0.0359430 secs]
Run Code Online (Sandbox Code Playgroud)

Ale*_*zin 8

JVM中有2个收藏家:年轻的太空收藏家和旧的太空收藏家.HotSpot JVM正在实现一堆算法,但只有某些收集器组合是可行的.

PSYoungGen是一个"并行清除"年轻空间GC算法,但它与旧空间(Tenured)的默认串行算法不兼容.PSOldGen是一个连续的旧空间算法,专门用于并行清除年轻空间算法 - PSYoungGen.

您可以启用旧空间并行算法太(-XX:+UseParallelOldGC),在这种情况下,你会看到PSYoungGen,ParOldGen对在工作中的算法.

您还可以启用另一个并行的年轻空间算法-XX:+UseParNewGC,该算法将与默认的串行旧空间算法串联Tenured.

我已经失去了你吗?:)

您可以在我的博客中阅读有关在HotSpot JVM中实现的算法的更多信息.