[英]Java Memory leakage signs
我一直在做一个应用程序,我一直在跟踪它的内存使用情况。 应用程序的内存大约为58,676 K,如下所示。
这是我的GUI。
那个关闭按钮有一个功能,使该面板不可见。
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出现并再次关闭它就可以再次增加应用程序的内存使用量。
这不是某种内存泄漏吗? 无论答案如何,我该如何预防此事?
不,这可能不是内存泄漏的迹象。 因为当您关闭并多次打开gui时,您的应用可能会创建并丢弃某些对象。 但是JVM可能还没有垃圾收集它们。 如果你想要真实的图片使用分析工具。 GC运行后,随着时间的推移进行堆转储。 这将告诉你内存中还剩下什么。
这可以帮助您缩小寻找可能的内存泄漏的范围。
最简单的工具来分析。
您应该使用分析器来查找内存泄漏。
在NetBeans中,“运行项目”和“调试项目”按钮旁边的顶部是“配置文件项目”按钮(Alt-F2)。
首次运行时,它可能会要求您进行校准或其他操作。
Afterwars,您可以选择分析CPU或内存。 如果单击Memory,选中“Simple”,然后单击Run,您可以运行项目并查看使用内存的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.