A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hmyuanqi 中级黑马   /  2014-9-6 20:43  /  725 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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类加载器加载的吗?求解释。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马