2016-11-28 2 views
0

Nach dem Erstellen eines Heap Dump im MAT-Tool analysiert. Leckverdächtige sagt : Eine Instanz von "java.util.TaskQueue" geladen von "" belegt 680.207.896 (82.39%) Bytes. Die Instanz wird referenziert von org.apache.tomcat.util.threads.TaskThread @ 0xc1b52018 ajp-bio-8009-exec-243, geladen von "java.net.URLClassLoader @ 0xce67a9b8". Der Speicher wird in einer Instanz von "java.util.TimerTask []" akkumuliert, die von "" geladen wird.Speicherlecks, verursacht durch java.util.TaskQueue

Aber meine Frage ist, warum dies nicht Müll gesammelt wird und es zu viel Speicher sammelt.

+0

Bitte irgendjemand mir helfen. Danke im Voraus. – Sharan

+0

Hallo. Sie geben uns nicht wirklich viel weiter. Es sieht so aus, als ob Sie etwas in die Aufgabenwarteschlange stellen, das aus irgendeinem Grund nicht als Müll gesammelt wird. Behalten Sie irgendeine Art von Bezug auf die Objekte? Das wäre der erste Ort, um nach dem Grund für ein Leck zu suchen. – Ewald

+0

es ist nicht Müll gesammelt wahrscheinlich, weil irgendwo in Ihrer Aufgabe Referenzen, oder Erstellen von Objekten, die nie gced werden. Ich vermute, dass Sie auch einige harte HashMaps oder Maps im Allgemeinen behalten, oder? – AntJavaDev

Antwort

0

Überprüfen Sie diese answer oder diese answer, vielleicht wird es Ihnen helfen.

ich nicht empfehlen, teference zu einer Aktivität oder Kontext im Innern zu halten. Ich hoffe, es hilft.

+0

Sie sollten die Frage als ein Duplikat markieren, wenn Sie glauben, dass dies verknüpft ist. Und geben Sie weitere Informationen zum Problem an oder poste dies einfach als Kommentar. – AxelH

Verwandte Themen