gpt4 book ai didi

java - Glassfish 中加载的类总数

转载 作者:行者123 更新时间:2023-11-30 06:00:44 24 4
gpt4 key购买 nike

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

最佳答案

你有一个类加载器泄漏!

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

当应用程序被取消部署时,该类加载器应该被垃圾收集,但有时这种情况不会发生,因为某些东西导致引用持续存在。当您重新部署应用程序时,应用程序服务器将执行与以前相同的操作,但现在可用内存更少。

有关这方面的更多信息,请查看 Frank Kieviet的博客文章名为 Classloader Leaks以及 How to Fix Classloader Leaks 的后续行动.

关于java - Glassfish 中加载的类总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/533545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com