我有这个简单的 Java 代码,它创建一个 JFrame 实例并显示它。此链接包含 jconsole 截取的内存消耗图的屏幕截图
让我担心的是,任务管理器中的 java.exe 显示内存使用量以每 8-9 秒 4-5 kbs 的速度持续增加。需要帮助
import javax.swing.*;
class MyGUI extends JFrame
{
public void makeGUI()
{
setLayout(null);
setSize(500, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
public class Launcher
{
public static void main(String []args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
new MyGUI().makeGUI();
}
});
}
}
最佳答案
配置文件看起来非常正常 - 程序创建对象,并且垃圾收集器不时通过清除不再可达的对象来释放内存。
重要的观察是,谷点或多或少都处于同一水平,因此看起来您的代码没有内存管理问题。
您可以通过将堆空间的最大数量设置为较低级别来降低峰值的高度,但 5 MB 无论如何都不算多...
关于java - 简单的 Java 程序越来越消耗内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711106/