动态类加载是 permgen 的原因之一?

发布于 2024-12-05 11:10:59 字数 306 浏览 0 评论 0原文

在不同的网站上,动态类加载被认为是永久生成问题的原因之一。

根据我的理解,动态类加载是在需要时加载类。此外,如果加载类 A 并且它引用另一个类 B,它也会随之加载。这就是动态类加载。 对吗?如果是的话,这是 JVM 的基本内置功能。 我们能做些什么?

或者我的理解是错误的。当我们说动态类加载时,我们指的是自定义类加载器吗?

我与上述相关的最后一个问题是,类由客户加载程序加载一次。因此,当我们在应用服务器上进行热部署时,应用服务器如何加载新版本的类。它在这里使用不同的类加载器吗?

On different sites , Dynamic class loading is given as one of the reason of permgen problem.

As per my understanding , Dynamic class loading is loading the class as and when it is required.Alonwith that if Class A is loaded and it is referring another class B , it will also be loaded along with that. This is Dynamic class loading. Right? If yes, this is essential and inbuilt feature of JVM. What we can do about it?

Or my understanding is wrong here. when we say Dynamic class loading , are we reffering to custom class loaders here?

My last question related to above is, Class is loaded once by customer loader. So when we do hotdeployment on application server, how appserver loads the new version of class. Does it use different class loader here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你穿错了嫁妆 2024-12-12 11:10:59

不,动态类加载是指在运行时加载编译时未知的类,例如通过 Class.forName 或反射(1, 2)。

No, dynamic class loading refers to loading classes during runtime that are unknown at compile time, e.g., via Class.forName, or reflection (1, 2).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文