Java中的独立类装入器是什么?
在尝试解决此问题时,我遇到了一些文章等,这些文章提到了“孤立的”ClassLoaders。我无法通过Google搜索找到隔离类加载器的定义,所以也许这个术语不是广为人知的行话,也许在不同的上下文中有不同的含义。
无论如何,Maven的surefire插件可以使用一个独立的ClassLoader:http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html
下面的答案之一还引用了一篇解释如何创建“隔离”类加载器的文章。
上面的两个引用都没有给出隔离的类加载器的定义;他们似乎假设读者知道这意味着什么,或者可以查找它。但是,第二个链接确实包含有关“孤立”含义的提示:
通过引导,可以在不污染系统类路径的情况下运行容器。这允许您以未受污染的系统类路径作为其父级来运行已部署的应用程序。您已经实现了类装入器隔离。
但我不太清楚什么与本段或本文其余部分的内容以及如何隔离。我看到他正在加载一个没有覆盖/覆盖另一个版本的类的一个版本 - 也许一个类加载器与另一个类加载器隔离,因为没有一个是另一个的父级的不同实例?我不确定。
我特别渴望一个谷歌或SO搜索链接,其中包含一个明确包含答案的链接。指向答案的直接链接也有效。:)