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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package com.itheima;

  2. public class ClassLoaderTest {
  3.         public static void main(String[] args){
  4.                 System.out.println(
  5.                 ClassLoaderTest.class.getClassLoader().getClass().getName() //第一和第二个输出
  6.                 +"\n"+System.class.getClassLoader());
  7.                
  8.                 ClassLoader loader = ClassLoaderTest.class.getClassLoader();
  9.                 while(loader != null) {
  10.                         System.out.println(loader.getClass().getName());//第三第四个输出
  11.                         loader = loader.getParent();
  12.                 }
  13.                 System.out.println(loader);
  14.         }
  15.        
  16.        
  17. }
复制代码
以上是学习张孝祥老师java基础加强视频课程时,就类加载器部分写的测试代码。我的疑问是程序本应该输出四个值,但我却得到了五个,如下:
sun.misc.Launcher$AppClassLoader
null
sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader
null
请问问题何在?搞不清楚……

2 个回复

倒序浏览
按照程序一步步执行,执行到ClassLoader loader = ClassLoaderTest.class.getClassLoader();时,前面正常输出,
此时loader不为空,执行 System.out.println(loader.getClass().getName());
当执行loader = loader.getParent();
loader变为null,所以最后输出null,图中标示出来了

输出.png (18.73 KB, 下载次数: 20)

输出

输出

评分

参与人数 1技术分 +1 收起 理由
田向向 + 1 赞一个!

查看全部评分

回复 使用道具 举报
03.public class ClassLoaderTest {

04.        public static void main(String[] args){

05.                System.out.println(

06.                ClassLoaderTest.class.getClassLoader().getClass().getName() //第一和第二个输出

07.                +"\n"+System.class.getClassLoader());

08.               

09.                ClassLoader loader = ClassLoaderTest.class.getClassLoader();

10.                while(loader != null) {

11.                        System.out.println(loader.getClass().getName());//第三第四个输出

12.                        loader = loader.getParent();执行到这句话时,loader就为null了,所以你的结果多了一个null

13.                }

14.                System.out.println(loader);

15.        }

16.        

17.        

18.}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马