黑马程序员技术交流社区
标题: 类加载器...疑问 [打印本页]
作者: 328078121 时间: 2013-9-2 20:48
标题: 类加载器...疑问
本帖最后由 328078121 于 2013-9-3 00:26 编辑
关于类加载器
package com.itheima;
public class ClassLoaderTest {
public static void main(String[] args){
System.out.println(
ClassLoaderTest.class.getClassLoader().getClass().getName() //位置1
+"\n"+System.class.getClassLoader());
ClassLoader loader = ClassLoaderTest.class.getClassLoader();
while(loader != null) {
System.out.println(loader.getClass().getName());//位置2
loader = loader.getParent();
}
System.out.println(loader);
}
}
复制代码
输出结果是,
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
null
我的疑问是在位置1和位置2,为何ClassLoaderTest.class.getClassLoader()最后的输出结果分别为sun.misc.Launcher$AppClassLoader和sun.misc.Launcher$AppClassLoader,sun.misc.Launcher$ExtClassLoader?为何多出一个sun.misc.Launcher$ExtClassLoader?
作者: 李锡碧 时间: 2013-9-2 23:58
第一次循环后loader = loader.getParent();执行后,loder不为null,又执行一次,所以多了个吧。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |