JAXBContext.newInstance内存泄漏

Lis*_*ssy 13 java memory-leaks java-metro-framework jaxb

在系统测试中最近部署之后,我们的一个servlet比平时受到更大的打击,我们注意到内存开始攀升,weblogic最终会死亡.我的实习生,我非常自豪,发现了内存泄漏的来源.

每当请求进入时,都会调用此行:

JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);
Run Code Online (Sandbox Code Playgroud)

出于某种原因,对象永远不会被垃圾收集.一旦我们将它静态化并移动到我们初始化它的位置,我们的内存泄漏便消失了.

我们的另一个开发人员在独立的Java应用程序中将该行放在while循环中,并且还看到了内存蠕变.

有没有人有任何想法为什么该对象不会被垃圾收集?

谢谢