我的应用程序具有不断增长的CMS OldGen。我从该应用程序的多个实例中提取了转储,并使用Eclipse MAT将其打开。它显示了1个泄漏嫌疑人:
8,260 instances of "java.lang.Class", loaded by "<system class loader>" occupy 6,371,584 (22.08%) bytes.
Biggest instances:
class java.lang.invoke.MethodType @ 0xd4e40f50 - 585,512 (2.03%) bytes.
class sun.security.jca.Providers @ 0xd55c4648 - 537,272 (1.86%) bytes.[![enter image description here][1]][1]
如果我搜索对象0xd4e40f50,则会看到一个包含大量方法引用的大型哈希图。看起来像应用程序中使用的所有方法
这由java进程使用,并且不特定于我的应用程序。谁能建议如何进一步调查泄漏情况?这是否意味着某个地方存在循环依赖?出现此类症状的原因还有哪些?