【问题标题】:What kind of GC does System.gc() trigger?System.gc() 会触发什么样的 GC?
【发布时间】:2017-05-15 06:52:54
【问题描述】:

我一直没能找到System.gc()推荐JVM做的GC类型。 Here,据说“System.gc() 方法......强制主要收集”,但 this 帖子暗示要求完整的 gc。

谁能澄清或指出说明这一点的文档?换句话说,请求的是major gc还是full gc?

【问题讨论】:

    标签: garbage-collection jvm


    【解决方案1】:

    这取决于您使用的 JVM。

    假设您使用的是热点,则行为会根据传递给它的标志而有所不同。默认情况下,它会触发一个完全停止世界的 GC,这将在日志中显示为 gc 原因[Full GC (System.gc)]。使用DisableExplicitGC,它根本不会调用任何 GC。如果使用 G1 或 CMS,则 ExplicitGCInvokesConcurrent 将更改该行为以启动并发旧代收集。

    主要和次要术语不再很有用,因为 GC 周期变得更加细微。

    如有疑问,请启用 GC 日志记录并亲自查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多