当前位置:  开发笔记 > 编程语言 > 正文

Java应用程序中已加载类的数量可能发生内存泄漏

如何解决《Java应用程序中已加载类的数量可能发生内存泄漏》经验,为你挑选了1个好方法。

我最近开始分析我正在使用VisualVM编写的osgi java应用程序.我注意到的一件事是,当应用程序开始向客户端(通过JMS)发送数据时,加载的类的数量开始以稳定的速率增加.然而,堆大小和PermGen大小保持不变.即使在停止发送数据之后,类的数量也永远不会下降.这是内存泄漏吗?我认为是这样,因为加载的类必须存储在某个地方,但是即使在我运行应用程序几个小时后,堆和permgen也不会增加.

有关我的分析应用程序的屏幕截图,请转到此处



1> Kyle..:

你是否动态地动态创建新类?

谢谢你的帮助.我弄清楚问题是什么.在我的一个类中,我使用Jaxb创建XML字符串.在这样做时,JAXB使用反射来创建一个新类.

JAXBContext context = JAXBContext.newInstance(this.getClass());

因此,虽然JAXBContext没有在堆中说,但是已经加载了类.

我再次运行我的程序,我看到正常的高原,正如我所料.


我可以问你如何摆脱新课程的创作? - 我正在解决这个问题,我想尝试你的解决方案.-谢谢
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有