类加载器(一)

来源:互联网 发布:新难兄难弟知乎 编辑:程序博客网 时间:2024/05/21 07:06

类加载器的委托机制:

参照:张孝祥老师--类加载器以及委托机制深入分析

package com.interview.classLoader;public class ClassLoaderTest {public static void main(String[] args) {/** * 查看ClassLoaderTest的类加载器 * 通过循环输出,不做任何处理,打印可以看出结构: * AppClassLoder-->ExtClassLoader-->null(BootStrap) * 而如果将ClassLoaderTest.java这个类打包(export)成jar,放在ext文件夹中 * 将打印出ExtClassLoader-->null(BookStrap) * 原因如下: * 这就是加载器的委托机制: * 当前线程会委托给上级加载器...,当最上级BootStrap找不到时。 * 轮到它的子类...,最后如果到当前线程还没找到,会报 * ClassNotFoundException异常,而 不会再往下找。 */ClassLoader classLoader = ClassLoaderTest.class.getClassLoader();while(classLoader!=null){System.out.println(classLoader.getClass().getName());classLoader = classLoader.getParent();}System.out.println(classLoader);//而System类的类加载器为null,System在包rt.rar中,有BootStrap加载System.out.println(System.class.getClassLoader());}}

打包过程:




Brower选择的路径,如下图分析:

然后Finish即可。



类加载器分析:



0 0
原创粉丝点击