Java 内存泄漏迹象

标签 java windows memory desktop

我一直在制作一个应用程序,并且一直在跟踪它的内存使用情况。该应用程序的内存约为 58,676 K,如下所示。 enter image description here

这是我的 GUI。

enter image description here

那个关闭按钮有一个功能可以使该面板不可见。

private final ActionListener closeButtonAL = new ActionListener(){

    @Override
    public void actionPerformed(ActionEvent e) {
        timeUtilities.getPanel().setVisible(false);
    }

};

我还有一个按钮可以使面板再次可见。

private final ActionListener showPanelAL = new ActionListener(){

    @Override
    public void actionPerformed(ActionEvent e) {
        timeUtilities.getPanel().setVisible(true);
    }

};

在应用程序开始显示之前,面板已初始化。

我的问题是,仅仅通过一次又一次地显示 GUI 并关闭它,就会增加应用程序的内存使用量。

这不是某种内存泄漏吗?不管答案如何,我该如何防止这种情况发生?

enter image description here

最佳答案

您应该使用分析器来定位内存泄漏。

在 NetBeans 中,顶部“运行项目”和“调试项目”按钮旁边是一个“配置文件项目”按钮 (Alt-F2)。

首次运行,它可能会要求您进行校准或其他操作。

之后,您可以选择分析CPU或内存。如果您单击“内存”,选中“简单”,然后单击“运行”,您可以运行您的项目并查看哪些内容使用了内存。

关于Java 内存泄漏迹象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23484359/

相关文章:

java - 处理导出的可执行引用

c++ - Microsoft Visual Studio 单元测试的 C2338 编译错误

MySQL Proxy 网络启动代理问题

Java SecurityManager - 在运行时修改之前保护代码

C: 函数通过 void * 返回

java - 如何更正无效协议(protocol): null sending mail and Could not to SMTP host: using javax.邮件?

java - Spring 切入点指示符差异(在 vs 执行中)

java - 验证两个字符串之间的用户输入?

java - 在cmd中运行两个版本的Java

c - 当数组元素的索引超出 c 中的范围时,数组元素以什么顺序存储在内存中?