gpt4 book ai didi

Java gc 不会自动清理内存

转载 作者:行者123 更新时间:2023-12-01 18:41:52 24 4
gpt4 key购买 nike

应用程序描述:我有一个 JAVA 应用程序,用于生成图表。用户可以根据自己的需要借助 GUI 来设置图表。

问题描述:创建图表时会使用一定量的内存,并且当创建新图表时,GC 不会自动清除前一个图表使用的内存,但是,如果我插入 System.gc() 语句,则会清除内存。我希望内存在每次生成新图表时清除所有死对象。

问题为什么 GC 不能像 Java 中那样自动工作?感谢您的投入。

最佳答案

在 java 中,无法保证垃圾收集器何时运行。这个想法是您不必担心内存。当您需要内存时,垃圾收集器现在应该已经清理了足够的空间。

如果它在您需要时无法清除足够的空间,那么您将收到 OutOfMemoryError

System.gc()是一个提示,可帮助通知垃圾收集器何时是垃圾收集的好时机。但它不一定会启动垃圾收集器。

关于Java gc 不会自动清理内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665390/

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