2016-11-28 28 views
0

在MAT工具中分析了堆轉儲之後。泄漏嫌疑人稱 : 由「」加載的「java.util.TaskQueue」的一個實例佔用680,207,896(82.39%)個字節。 實例被引用爲 org.apache.tomcat.util.threads.TaskThread @ 0xc1b52018 ajp-bio-8009-exec-243,由「java.net.URLClassLoader @ 0xce67a9b8」加載。內存在由「」加載的「java.util.TimerTask []」的一個實例中累積。由java.util.TaskQueue引起的內存泄漏

但我的問題是爲什麼這不是垃圾收集和積累太多的內存。

+0

請任何人幫我。謝謝提前。 – Sharan

+0

嗨。你不會真的讓我們繼續下去。看起來你可能會在任務隊列中放置某些東西,出於某種原因,這些東西不會被垃圾回收。你保留對物體的任何類型的參考嗎?那將是第一個尋找它爲什麼會導致泄漏的地方。 – Ewald

+0

它不是垃圾回收可能是因爲你的任務中的某個地方泄漏了引用,或者創建了永遠不會被垃圾回收的對象。我懷疑你還保留了一些硬HashMaps或一般的地圖,對吧? – AntJavaDev

回答

0

請檢查這個answer或這個answer,也許它會幫助你。

我建議不要保留對它的描述活動上下文裏面。我希望它有幫助。

+0

如果您認爲此鏈接有問題,則應將該問題標記爲重複。並提供有關該問題的更多信息,或僅將其作爲評論發佈。 – AxelH