停止我的网络应用程序后,大量的 PermGen 没有被释放。罪魁祸首似乎是 WebappClassLoader(在 Tomcat 中,但它也发生在 Jetty 中),它通过来自一堆其他对象的引用保存在内存中。下图显示了引用 WebappClassLoader 的对象,以及引用它们的事物,等等。
其中一个紧贴对象似乎是 的一个实例,对它net.lag.logging.Level$INFO$
的引用存储在 中的静态known
数组中java.util.logging.Level
。
似乎java.util.logging.Level
保持对自身所有实例的静态引用。糟糕,恶心java.util.logging.Level
!我能做些什么吗?java.util.logging 框架被第三方库使用,所以我认为我没有不使用它的选项。