Java ClassLoader:两次加载相同的类

Java ClassLoader:两次加载相同的类,第1张

Java ClassLoader:两次加载相同的类

类加载器不能替换已经加载的类。

loadClass
将返回现有
Class
实例的引用。

您必须实例化一个新的类加载器,并使用它来加载新类。然后,如果要“替换”该类,则必须扔掉该类加载器并创建另一个新的类加载器。


针对您的评论:做类似的事情

ClassLoader cl = new UrlClassLoader(new URL[]{pathToClassAsUrl});Class<?> compiledClass = cl.loadClass(stringClass);

该类加载器将使用“默认委托父类ClassLoader”,并且您必须注意,该类(由其完全限定的类名标识)尚未加载,并且不能由该父类加载器加载。因此,“
pathToClassAsUrl”不应放在类路径上!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5438911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存