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

Glassfish中已加载类的总数

如何解决《Glassfish中已加载类的总数》经验,为你挑选了1个好方法。

我有EJB的企业应用程序.该应用程序的总大小为34兆.当我部署我的应用程序时一切都很好但是当我重新部署它时,总加载类的数量增加.我正在使用visualVM查看此信息.它应该是它应该是什么,或者它是一个内存泄漏.如何解决这个问题呢?谢谢



1> David Grant..:

你有一个classloader泄漏!

您通常会发现,当您在任何 JavaEE应用程序服务器(包括Glassfish)上部署应用程序时,应用程序服务器将专门为您的应用程序创建一个新的类加载器.当您的应用程序初始化时,并且在运行时,该类加载器将加载新类,这些类将被置于永久内存中,称为PermGen区域.

取消部署应用程序时,该类加载器应该是垃圾收集的,但有时这种情况不会发生,因为某些事情导致引用持久存在.当您重新部署应用程序,应用程序服务器经过相同的动作和以前一样,但现在,有可用的内存较少.

有关这方面的更多信息,请查看Frank Kieviet的名为Classloader Leaks的博客文章以及如何修复Classloader Leaks的后续内容.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有