线程上下文类加载器 :[url]http://blog.csdn.net/zhoudaxia/article/details/35897057[/url]
线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 java.lang.Thread中的方法 getContextClassLoader()和 setContextClassLoader(ClassLoader cl)用来获取和设置线程的上下文类加载器。[b]如果没有通过 setContextClassLoader(ClassLoader cl)方法进行设置的话,线程将继承其父线程的上下文类加载器。[/b]ava 应用运行的初始线程的上下文类加载器是系统类加载器。在线程中运行的代码可以通过此类加载器来加载类和资源。
线程上下文类加载器(context class loader)是从 JDK 1.2 开始引入的。类 java.lang.Thread中的方法 getContextClassLoader()和 setContextClassLoader(ClassLoader cl)用来获取和设置线程的上下文类加载器。[b]如果没有通过 setContextClassLoader(ClassLoader cl)方法进行设置的话,线程将继承其父线程的上下文类加载器。[/b]ava 应用运行的初始线程的上下文类加载器是系统类加载器。在线程中运行的代码可以通过此类加载器来加载类和资源。
/**
* @author xinchun.wang
@email: 532002108@qq.com
* @createTime 2015-4-22 下午2:43:39
*/
public class ContextClassLoader {
@Test
public void testNewThreadContxtClassLoader(){
Thread t2 = new Thread();
//输出:sun.misc.Launcher$AppClassLoader@43be2d65 新线程没有设置ContextClassLoader,将继承其父线程的上下文类加载器
System.out.println(t2.getContextClassLoader());
//输出:null 因为Thread.class 是引导类加载加载的,所以其父类加载器 是为空
System.out.println(t2.getClass().getClassLoader());
}
}