为什么需要创建自定义类加载器?一个现实世界的例子会很棒!
答案 0 :(得分:5)
Java EE服务器和OSGI容器等应用程序服务器使用自定义类加载器来支持动态更新和删除软件。
其他自定义类加载器用于支持动态代码注入(首选来自Java 5.0 Instrumentation)
答案 1 :(得分:4)
典型案例是:
运行时的仪器/加载类。
加载加密类。
远程类加载。
答案 2 :(得分:2)
这不是你可能不得不自己写的东西,但你可能会使用一个作为一些复杂框架的一部分 - 例如,依赖注入通常用ClassLoaders实现。自定义类加载器的另一个常见用途是单元测试:可以使用自定义类加载器来替换被测单元加载的类" dummy"以可控方式响应的版本(例如,模拟本来难以创建的错误)。
答案 3 :(得分:1)
坦率地说,很难想象没有非标准类加载器的Java生态系统。许多松散耦合的体系结构基于类加载器。我建议用JSPF(Java Simple Plugin Framework)花几个小时,因为只有一些实际经验才对你有价值。 JSPF非常简单,不仅可以在需要自定义类加载器时理解潜在的情况,还可以感受到这种解决方案的强大功能。
尝试遵循一个简单的计划:
请同时浏览以下链接: