我知道它告诉 CMS 收集器在发生完整 GC 时对旧代进行压缩。
但我想确认我是否理解正确(从各种来源拼凑而成):
完整的 GC 会暂停世界,收集并压缩旧代(使用 CMS 的备注阶段的结果),然后收集年轻代,提升对象(如果有的话),然后恢复世界。
此时,old gen 中可能有浮动垃圾,UseCMSCompactAtFullCollection
就是清理它们并再次压缩 old gen(基本上是 old gen 上的另一个 GC)。因为无论如何世界都停止了,所以做更多的压缩可能是值得的。
这个描述正确吗?我错过了任何重要的细节吗?谢谢