首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

类加载器的有关问题,多谢

2013-11-20 
类加载器的问题求助,急,谢谢!请看以下代码:public class Test {public static void main(String[] args) {

类加载器的问题求助,急,谢谢!
请看以下代码:


public class Test {
public static void main(String[] args) {
ClassLoader systemLoader = ClassLoader.getSystemClassLoader();
Thread.currentThread().setContextClassLoader(systemLoader.getParent());
System.out.println(Thread.currentThread().getContextClassLoader());

Test t = new Test();
System.out.println(t.getClass().getClassLoader());
}
}

输出结果如下:

sun.misc.Launcher$ExtClassLoader@addbf1
sun.misc.Launcher$AppClassLoader@19821f


我的问题是:
我在main方法的当前线程已经设置了类加载器为ExtClassLoader,那么创建Test对象的时候,为什么还是AppClassLoader加载了呢?
书上说如果设定了当前线程的加载器,那么当前线程在加载类的时候,都会采用设定好的加载器啊。
所以创建Test对象的时候应该打印ExtClassLoader才对啊,为什么还会是AppClassLoader呢?
谢谢大家!
[解决办法]
问楼主个问题,
sun.misc.Launcher$ExtClassLoader@addbf1中的@后面的几个字符是什么。
第二,一般情况下,设定类加载器有什么用处?

热点排行