JAXBContext.newInstance内存泄漏

时间:2010-08-27 13:52:07

标签: java memory-leaks jaxb java-metro-framework

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

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

JAXBContext jc = JAXBContext.newInstance(“ruby.oracle_servlet.schemas”);

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

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

有没有人知道为什么该对象不会被垃圾收集?

由于

2 个答案:

答案 0 :(得分:8)

答案 1 :(得分:1)

是的,这是泄漏。每次调用此方法时,它都会加载类“ruby.oracle_servlet.schemas”。

JAXBContext.newInstance(“ruby.oracle_servlet.schemas”)