[英]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.