package cn.itcast.day2;
public class ClassLoaderTest {
public static void main(String[] args) {
System.out.println(ClassLoaderTest.class.getClassLoader().getClass()
.getName());
/*System.out.println(System.class.getClassLoader().getClass()
.getName()); //结果为NullPointerException
*/
System.out.println(System.class.getClassLoader());//结果为:null.代表System类是由第一个加载器BootStrap加载进内存的。
//由于这个类加载器不是java类,所以你用java程序去得到它的名字结果就为null。
ClassLoader loader = ClassLoaderTest.class.getClassLoader();
while(loader != null)
{
System.out.println(loader.getClass().getName());
loader = loader.getParent();
}
System.out.println(loader);
}
}
为什么我将这个类放入java\jre\lib\ext\itcast.jar中,为什么运行结果中,该类还是由AppClassLoader类加载器加载的?不是应该由ExtClassLoader类加载器加载的吗?求解释。
|
|