gpt4 book ai didi

java - Java 1.6 和 1.7 之间的 Conc Mark 和 Sweep Garbage Collector 区别

转载 作者:行者123 更新时间:2023-11-29 08:54:15 26 4
gpt4 key购买 nike

我正在使用带有 CMS GC 的 jdk 1.6,当我尝试迁移到 JDK 1.7 时,堆使用量增加并且进程变慢。

这些版本的 GC 行为是否存在重大差异?如果它在 JDK 1.7 中变慢了,有什么解决方法?

最佳答案

在下面的 jdk 1.7 中有 2 个与 cms 相关的主要变化。

并发标记清除收集器 (CMS) 的默认开箱即用堆大小和形状参数已被修改。新设置利用了自 JDK 6 发布以来引入的更快的平台。与 HotSpot 中的其他收集器一样,CMS 现在将使用平台上可用的物理内存来调整其堆的大小,同时尝试调整该堆以保持与“合理”的小收集相关的暂停时间。堆的具体形状也可能在其他方面依赖于平台。用户可以通过显式调整堆大小或调整堆(也称为“堆调整”)来覆盖所有或部分默认设置,以满足他们的特定需求。

JDK 6 发行说明包括 CMS 的性能增强。为了提供一种机制以继续使用 JDK 5 提供的行为,提供了 CMUSeOldDefaults 标志。此标志将许多设置恢复为默认状态。在过去的几年里,这个标志的使用很少,大多数客户更喜欢改进的 CMS 性能。 CMSUseOldDefaults 标志现已在 jdk7 中删除。

来源:JDK 7 中的 Java 虚拟机增强

关于java - Java 1.6 和 1.7 之间的 Conc Mark 和 Sweep Garbage Collector 区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21178353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com