gpt4 book ai didi

java - 什么触发了 Java 中的完整垃圾回收?

转载 作者:IT老高 更新时间:2023-10-28 20:48:02 24 4
gpt4 key购买 nike

我想知道在 Java 中触发 Full Garbage Collection 的确切情况是什么。

显而易见的是:

  • 老一代用完了
  • 烫发用完了
  • 调用 System.gc()

其他导致full gc的情况呢?特别是:

  • 幸存者空间中没有足够的可用空间从伊甸园复制对象。
  • 次要集合无法应对新对象的分配率(虽然不知道如何)。

我正在运行 Sun Java 1.6 并使用 Concurrent Mark-Sweep 和 ParNew for new gen。

最佳答案

我观察到另一种情况,在 Ubuntu 上的 Java Hotspot VM 1.6 64bit 中使用并发标记扫描触发完整 GC:

如果 -XX:PermSize 值不等于 -XX:MaxPermSize(例如更小),当 java 需要扩展 PermGen(即使它不需要分配比 MaxPermSize 更多的内存)时,偶尔会发生 Full GC。因此,将 -XX:PermSize 和 -XX:MaxPermSize 设置为相同似乎是个好主意。

关于java - 什么触发了 Java 中的完整垃圾回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9546392/

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