首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >简单的Java程序消耗越来越多的内存

简单的Java程序消耗越来越多的内存
EN

Stack Overflow用户
提问于 2012-10-03 22:52:50
回答 2查看 1.6K关注 0票数 3

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

让我担心的是,任务管理器中的java.exe显示内存使用量以每8-9秒4-5KB的速度持续增加。需要帮助

代码语言:javascript
运行
复制
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();
                       }
                    });
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-03 22:56:35

这个概要文件看起来非常正常--程序创建对象,垃圾收集器通过清除不能再访问的对象来释放内存。

重要的是,所有的低谷点或多或少都在同一级别上,所以看起来您的代码不会有内存管理问题。

您可以通过将堆空间的最大值设置为较低的级别来减少峰值的高度,但5MB无论如何都不是很多……

票数 7
EN

Stack Overflow用户

发布于 2012-10-03 23:04:18

Java倾向于根据需要使用内存。它不会经常进行垃圾收集,所以它的大小自然会增加,即使是在运行时使用一个简单的程序。因为它必须为您甚至大多数情况下都不会看到的小事件创建类。

如果你想强制java进行垃圾收集并手动减少内存使用,你总是可以调用System.gc(),但你应该非常谨慎地使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12711106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档