我正在寻找一个简单的场景,什么时候可以要求创建自定义类加载器?
除此之外,我只是想确认 Does even bootstrap and application class loader extends java.lang.ClassLoader internally?
最佳答案
简而言之,它可用于添加新代码或动态更改现有代码。这是来自此 URL 的更详细解释.
为什么要编写自定义类加载器?
想要创建自定义类加载器的三个主要原因是:
允许从替代存储库加载类。
这是最常见的情况,在这种情况下,应用程序开发人员可能希望从其他位置(例如通过网络连接)加载类。
划分用户代码。
这种情况较少被应用程序开发人员使用,但广泛用于 servlet 引擎。
允许卸载类。
如果应用程序创建大量仅在有限时间内使用的类,则这种情况很有用。因为类加载器维护它加载的类的缓存,所以在类加载器本身被取消引用之前不能卸载这些类。因此,系统类和扩展类永远不会被卸载,但应用程序类可以在它们的类加载器被卸载时被卸载。
关于java - 可能需要自定义类加载器的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7490020/