java - 简单的 Java 程序越来越消耗内存

标签 java swing memory-efficient memory-consumption

我有这个简单的 Java 代码,它创建一个 JFrame 实例并显示它。此链接包含 jconsole 截取的内存消耗图的屏幕截图

enter image description here

让我担心的是,任务管理器中的 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/

相关文章:

java - 获取 jinternal 框架中 jscrollpane 内的组件

java - powershell为每个文件构建一个字符串来执行

java - 使用按钮将 1 个列表元素复制到另一个列表中,但保留第二个列表内容

java - JTable 模型监听器过早检测到插入的行(在绘制之前)

algorithm - 如何在 Photoshop 等专业绘图应用程序中存储用于撤消重做的 Action ?

java - toString() 方法和递归

java - JUnit 类别不适用于 TestCase?

java - 设置各个按钮的功能

r - 有效地生成离散随机数

R高效递归