考试辅导

3773考试网计算机等级考试考试辅导正文

Java类装载的过程及原理介绍

来源:fjzsksw.com 2009-12-8 9:55:00

例1,测试你所使用的JVM的ClassLoader


 /*LoaderSample1.java*/
  public class LoaderSample1 {
  public static void main(String[] args) {
  Class c;
  ClassLoader cl;
  cl = ClassLoader.getSystemClassLoader();
  System.out.println(cl);
  while (cl != null ) {
  cl = cl.getParent();
  System.out.println(cl);
  }
  try {
  c = Class.forName( " java.lang.Object " );
  cl = c.getClassLoader();
  System.out.println( " java.lang.Object's loader is " + cl);
  c = Class.forName( " LoaderSample1 " );
  cl = c.getClassLoader();
  System.out.println( " LoaderSample1's loader is " + cl);
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }

  在我的机器上(Sun Java 1.4.2)的运行结果


 sun.misc.Launcher$AppClassLoader@1a0c10f
  sun.misc.Launcher$ExtClassLoader@e2eec8
  null
  java.lang.Object's loader is null
  LoaderSample1's loader is sun.misc.Launcher$AppClassLoader@1a0c10f

  第一行表示,系统类装载器实例化自类sun.misc.Launcher$AppClassLoader

  第二行表示,系统类装载器的parent实例化自类sun.misc.Launcher$ExtClassLoader

  第三行表示,系统类装载器parent的parent为bootstrap

  第四行表示,核心类java.lang.Object是由bootstrap装载的

  第五行表示,用户类LoaderSample1是由系统类装载器装载的

上一页  [1] [2] [3] 下一页

触屏版 电脑版
3773考试网 琼ICP备12003406号-1