java - 可能需要自定义类加载器的场景?

标签 java jvm

我正在寻找一个简单的场景,什么时候可以要求创建自定义类加载器?

除此之外,我只是想确认 Does even bootstrap and application class loader extends java.lang.ClassLoader internally?

最佳答案

简而言之,它可用于添加新代码或动态更改现有代码。这是来自此 URL 的更详细解释.

为什么要编写自定义类加载器?

想要创建自定义类加载器的三个主要原因是:

  • 允许从替代存储库加载类。

    这是最常见的情况,在这种情况下,应用程序开发人员可能希望从其他位置(例如通过网络连接)加载类。

  • 划分用户代码。

    这种情况较少被应用程序开发人员使用,但广泛用于 servlet 引擎。

  • 允许卸载类。

    如果应用程序创建大量仅在有限时间内使用的类,则这种情况很有用。因为类加载器维护它加载的类的缓存,所以在类加载器本身被取消引用之前不能卸载这些类。因此,系统类和扩展类永远不会被卸载,但应用程序类可以在它们的类加载器被卸载时被卸载。

关于java - 可能需要自定义类加载器的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490020/

相关文章:

java - 相当于android中的html img src

java - 直接编辑 .class 文件,使用操作码

java - Java 中的垃圾回收是否发生在 Java 堆的 perm 区域?

java - MaxDirectMemorySize 用法

java - 在 selectManyChoice 中设置选定的值

java - 如果没有先单击复制,则禁止单击共享

java - 如何在JComboBox中显示信息,但为后端操作选择不同的信息

Java 随机在 2 个地方有不同的行为

Java VM 调优 - Xbatch 和 -Xcomp

java - JVM 核心线程