在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引起的内存泄漏
但我的问题是为什么这不是垃圾收集和积累太多的内存。
请任何人帮我。谢谢提前。 – Sharan
嗨。你不会真的让我们继续下去。看起来你可能会在任务队列中放置某些东西,出于某种原因,这些东西不会被垃圾回收。你保留对物体的任何类型的参考吗?那将是第一个寻找它为什么会导致泄漏的地方。 – Ewald
它不是垃圾回收可能是因为你的任务中的某个地方泄漏了引用,或者创建了永远不会被垃圾回收的对象。我怀疑你还保留了一些硬HashMaps或一般的地图,对吧? – AntJavaDev