一尘不染

Java线程的上下文类加载器和普通类加载器之间的区别

java

线程的上下文类加载器和普通类加载器有什么区别?

也就是说,如果Thread.currentThread().getContextClassLoader()getClass().getClassLoader()返回不同的类加载器对象,将使用哪一个?


阅读 577

收藏
2020-03-06

共1个答案

一尘不染

每个类将使用其自己的类加载器来加载其他类。所以,如果ClassA.class引用ClassB.classClassB需要上的类加载器的类路径ClassA,或者它的父母。

线程上下文类加载器是当前线程的当前类加载器。可以从中的类创建对象ClassLoaderC,然后将其传递给拥有的线程ClassLoaderD。在这种情况下,Thread.currentThread().getContextClassLoader()如果对象要加载其自己的类加载器上不可用的资源,则需要直接使用。

2020-03-06