Java垃圾回收

Java垃圾回收,第1张

Java垃圾回收

Java自动调用垃圾收集器,那么为什么我们需要手动调用垃圾收集?

我们不需要它们。事实上,在大多数情况下,调用

System.gc()
有害的应用程序的性能 。有关详细说明,请参见我对“为什么调用systemgc的不良做法”的回答。

什么时候应该使用System.gc()

如果应用程序知道它将进入一个无事可做的阶段,并且用户不太可能注意到垃圾回收,则可以通过调用

System.gc()
来阻止用户将来出现GC暂停。

缺点包括:

  • 调用
    System.gc()
    通常会触发一个完整的GC,而该GC所需的时间比“新空间”的GC要长得多。
  • 用户可能实际上在乎/注意到。例如,如果您
    System.gc()
    在游戏的“关卡”之间调用,则使加载下一个关卡花费的时间更长。
  • 通过强制使用GC,您将导致JVM使用额外的CPU周期等,这可能会干扰用户在其计算机上执行的 其他 *** 作。

System.gc()
在单元测试中以及在系统调试期间,也可能有正当的理由来调用。)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5438838.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存