java类加载器的分类

2026-01-29 0 46,172

分类

1、引导类加载器,用C++编写的,是JVM自带的类加载器

负责Java平台核心库,用来加载核心类库。构造ExtClassLoader和AppClassLoader,该加载器无法直接获取

Java平台核心库:jrelibrt.jar,用压缩软件打开,里面的类就是我们平时要学的。这个jre是公共jre,并非jdk目录下的专用jre

2、拓展类加载器,负责jrelibext目录下的jar包

或-D java.ext.dirs指定目录下的jar包装入工作库

此处jre也是公共jre

3、系统类加载器

负责java -classpath或-D java.class.path所指的目录下的类与jar包装入工作,是最常用的加载器

实例

package com.volcano.reflection;
 
public class TestReflection4 {
    public static void main(String[] args) {
        //获取系统类加载器
        ClassLoader classLoader = ClassLoader.getSystemClassLoader();
        System.out.println(classLoader);
        //获取拓展类加载器
        classLoader = classLoader.getParent();
        System.out.println(classLoader);
        //获取引导类加载器(是直接无法获取的)
        classLoader = classLoader.getParent();
        System.out.println(classLoader);
 
        //测试当前类是由哪个类加载器加载的——引导类加载器
        System.out.println(TestReflection4.class.getClassLoader());
        //测试JDK内置的类是由哪个类加载器加载的——系统类加载器null
        System.out.println(Object.class.getClassLoader());
 
        //如何获得系统类加载器的加载的类的路径
        System.out.println(System.getProperty("java.class.path"));
        /*之前用过的commons-io和自己写的类也在其中
        * E:JDKjrelibcharsets.jar;
        * E:JDKjrelibdeploy.jar;
        * E:JDKjrelibextaccess-bridge-64.jar;
        * E:JDKjrelibextcldrdata.jar;
        * E:JDKjrelibextdnsns.jar;
        * E:JDKjrelibextjaccess.jar;
        * E:JDKjrelibextjfxrt.jar;
        * E:JDKjrelibextlocaledata.jar;
        * E:JDKjrelibextnashorn
        * .jar;E:JDKjrelibextsunec.jar;
        * E:JDKjrelibextsunjce_provider.jar;
        * E:JDKjrelibextsunmscapi.jar;
        * E:JDKjrelibextsunpkcs11
        * .jar;E:JDKjrelibextzipfs.jar;
        * E:JDKjrelibjavaws.jar;
        * E:JDKjrelibjce.jar;
        * E:JDKjrelibjfr.jar;
        * E:JDKjrelibjfxswt.jar;
        * E:JDKjrelibjsse.jar;
        * E:JDKjrelibmanagement-agent.jar;
        * E:JDKjrelibplugin.jar;
        * E:JDKjrelibresources.jar;
        * E:JDKjrelibrt.jar;
        * F:云CodeJavaSEoutproduction基础语法;
        * F:云CodeJavaSE基础语法srccomlibcommons-io-2.6.jar;
        * D:IntelliJ IDEA 2018.2.4libidea_rt.jar
 
         * */
    }
}

以上就是java类加载器的分类,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 java教程 java类加载器的分类 https://www.zhiup.top/10573.html

相关