Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Glassfish中加载的类的总数_Java_Memory_Deployment_Glassfish_Classloader - Fatal编程技术网

Java Glassfish中加载的类的总数

Java Glassfish中加载的类的总数,java,memory,deployment,glassfish,classloader,Java,Memory,Deployment,Glassfish,Classloader,我有一个带有EJB的企业应用程序。该应用程序的总大小为34兆。 当我部署我的应用程序时,一切都很好,但当我重新部署它时,总加载类的数量会增加。我正在使用visualVM查看此信息。 这就是它应该是什么样子,还是内存泄漏。如何解决这个问题? 谢谢你的类加载器泄漏了 您通常会发现,当您在任何JavaEE应用程序服务器(包括Glassfish)上部署应用程序时,应用程序服务器将专门为您的应用程序创建一个新的类加载器。当应用程序初始化并运行时,该类加载器将加载新的类,这些类将被放入永久内存中,称为Per

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

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

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


有关这方面的更多信息,请参阅的博客文章和后续文章。

VisualVM只是Netbeans中包含的“profiler”工具的独立版本

因此,为了检测内存泄漏,您应该阅读以下文档: Netbeans分析器

这里有一些链接可以帮助您开始