本帖最后由 燕国庆 于 2013-4-1 12:52 编辑
public class ClassLoaderTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(ClassLoaderTest.class.getClassLoader().getClass()
.getName());
System.out
.println(System.class.getClassLoader());
//类加载器的继承树状关系
ClassLoader classloader=ClassLoaderTest.class.getClassLoader();
while(classloader!=null) 为什么在此处用if 和 while 所打印出来的结果会不一样
{
System.out.println(classloader.getClass().getName());
classloader=classloader.getParent();
}
System.out.println(classloader);
}
}
if:
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
while:
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
null
|