Thread.currentThread().getContextClassLoader()的意义:
1,父Classloader可以使用当前线程Thread.currentthread().getContextLoader()中指定的classloader中加载的类。颠覆了父ClassLoader不能使用子Classloader或者是其它没有直接父子关系的Classloader中加载的类这种情况。
有两个ClassLoader,A和B,A为当前线程的ClassLoader,这个时候Thread.currentthread().getContextLoader()并不是指的A这个ClassLoader,而是指通过setContextLoader(ClassLoader cl)中设置进去的那一个ClassLoader,假定为B,本来A与B是两个独立的ClassLoader,甚至于B的父ClassLoader就是A,按照普通ClassLoader的类加载规则,A中是不可以使用B中的类的,但是以setContextLoader()方式设置A的上下文类加载器为B的时候,A加载的类就可以访问B中加载的类了。
1,父Classloader可以使用当前线程Thread.currentthread().getContextLoader()中指定的classloader中加载的类。颠覆了父ClassLoader不能使用子Classloader或者是其它没有直接父子关系的Classloader中加载的类这种情况。
有两个ClassLoader,A和B,A为当前线程的ClassLoader,这个时候Thread.currentthread().getContextLoader()并不是指的A这个ClassLoader,而是指通过setContextLoader(ClassLoader cl)中设置进去的那一个ClassLoader,假定为B,本来A与B是两个独立的ClassLoader,甚至于B的父ClassLoader就是A,按照普通ClassLoader的类加载规则,A中是不可以使用B中的类的,但是以setContextLoader()方式设置A的上下文类加载器为B的时候,A加载的类就可以访问B中加载的类了。