类加载:
程序是这样的package cn.itcast.day2;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 loader=ClassLoaderTest.class.getClassLoader();

while(loader != null){
System.out.println(loader.getClass().getName());
loader=loader.getParent();
}

System.out.println(loader); }}在jar Export里
jar file 的文件是在 D:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\itcast.jar
里的
我要的结果是
sun.misc.Launcher$ExtClassLoader
null
sun.misc.Launcher$ExtClassLoader
sun.misc.Launcher$ExtClassLoader
null可现在的结果是
sun.misc.Launcher$AppClassLoadernull
sun.misc.Launcher$AppClassLoadersun.misc.Launcher$ExtClassLoader
null不知哪里有问题了

解决方案 »

  1.   

    ext好像是加载jdk_home/lib/ext下的吧
      

  2.   

    bootstrap      用于加载系统类,c++编写,打印名称为null
    ExtClassLoader 用于加载ext下的jar
    AppClassLoader 用于加载classpath
      

  3.   

    CSDN升级,本来整理好了,上午回复不鸟!
    很神奇吧!
    这代码我很久以前也敲过,记得结果是楼主想要的;
    这次又把楼主的代码拷下来测了一下,在Eclipse4.2中竟然跟楼主不想要的结果一样;
    跟之前相比,我的环境唯一改变的就是Eclipse的版本,就用Eclipse3.7测了一下,就变成楼主想要的结果了;
    可能是Eclipse升级后就不一样了吧!
      

  4.   

    唉,你们怎么登录上的,昨天总说在升级,我从博客登陆的
    配置路径是
    classpath   是  .;%java_home%\lib\tools.jar;
    java_home       D:\Program Files\Java\jdk1.6.0_10Path            .;%java_home%\bin;d:\apache-tomcat-6.0.33\bin;d:\oracle\product\10.2.0\db_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Intel\Services\IPT\;C:\Program Files\Lenovo\Access Connections\;D:\Program Files\Java\jdk1.6.0_10\bin;D:\Program Files\TortoiseSVN\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin
    Eclipse是
    MyEclipse Enterprise WorkbenchVersion: 8.5
    Build id: 8.5-20100319(c) Copyright Genuitec, L.L.C. 2000-2010.  All rights reserved.
    Visit http://www.myeclipseide.com/唉
      

  5.   

    仔细看了一下我的两个版本的Eclipse的区别
    首先附上我的jdk安装目录的截图在eclipse3.7中,它的jre home是C:\Program Files\Java\jre7,所以运行是预期结果
    在eclipse4.2中,它的jre home是C:\Program Files\Java\jdk1.7.0_01,所以运行不是预期结果
    所以,楼主应该有点儿想法了吧!
      

  6.   

    嗯嗯,谢谢
    我去下载个新的jdk去