Java Glassfish中加载的类的总数
我有一个带有EJB的企业应用程序。该应用程序的总大小为34兆。 当我部署我的应用程序时,一切都很好,但当我重新部署它时,总加载类的数量会增加。我正在使用visualVM查看此信息。 这就是它应该是什么样子,还是内存泄漏。如何解决这个问题?Java Glassfish中加载的类的总数,java,memory,deployment,glassfish,classloader,Java,Memory,Deployment,Glassfish,Classloader,我有一个带有EJB的企业应用程序。该应用程序的总大小为34兆。 当我部署我的应用程序时,一切都很好,但当我重新部署它时,总加载类的数量会增加。我正在使用visualVM查看此信息。 这就是它应该是什么样子,还是内存泄漏。如何解决这个问题? 谢谢你的类加载器泄漏了 您通常会发现,当您在任何JavaEE应用程序服务器(包括Glassfish)上部署应用程序时,应用程序服务器将专门为您的应用程序创建一个新的类加载器。当应用程序初始化并运行时,该类加载器将加载新的类,这些类将被放入永久内存中,称为Per
谢谢你的类加载器泄漏了 您通常会发现,当您在任何JavaEE应用程序服务器(包括Glassfish)上部署应用程序时,应用程序服务器将专门为您的应用程序创建一个新的类加载器。当应用程序初始化并运行时,该类加载器将加载新的类,这些类将被放入永久内存中,称为
PermGen
区域
当应用程序被取消部署时,该类加载器应该被垃圾收集,但有时这种情况不会发生,因为某些事情导致引用持久化。当您重新部署应用程序时,应用程序服务器会经历与以前相同的动作,但现在可用内存减少了
有关这方面的更多信息,请参阅的博客文章和后续文章。VisualVM只是Netbeans中包含的“profiler”工具的独立版本 因此,为了检测内存泄漏,您应该阅读以下文档: Netbeans分析器 这里有一些链接可以帮助您开始