我对java ClassLoaders有疑问。我正在尝试使用不同的ClassLoaders,以便能够在同一程序中运行不同版本的JAR。
我听说过如果你使用一个ClassLoader加载一个类,那么从该类中调用(被加载)的所有类都将使用相同的ClassLoader。这是对的吗?
如果没有,是否有一种简洁的方法来设置ClassLoader的上下文(假设,从特定类/库调用的所有内容都应该使用相同的ClassLoader)。
答案 0 :(得分:4)
这不是一个简单的主题,我建议在网上做更多的研究,因为这里的答案几乎不够深入。但是,作为一个快速概要:
作为经验法则,在执行您知道来自嵌套类加载器的代码时(可能是因为您设置了它),您应该适当地设置当前上下文类加载器。