热门IT资讯网

java类加载器有哪些及怎么用

发表于:2024-11-23 作者:热门IT资讯网编辑
编辑最后更新 2024年11月23日,这篇文章主要介绍了java类加载器有哪些及怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java类加载器有哪些及怎么用文章都会有所收获,下面我们一起来看看吧。分类1

这篇文章主要介绍了java类加载器有哪些及怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java类加载器有哪些及怎么用文章都会有所收获,下面我们一起来看看吧。

分类

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

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

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

2、拓展类加载器,负责jre\lib\ext目录下的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:\JDK\jre\lib\charsets.jar;        * E:\JDK\jre\lib\deploy.jar;        * E:\JDK\jre\lib\ext\access-bridge-64.jar;        * E:\JDK\jre\lib\ext\cldrdata.jar;        * E:\JDK\jre\lib\ext\dnsns.jar;        * E:\JDK\jre\lib\ext\jaccess.jar;        * E:\JDK\jre\lib\ext\jfxrt.jar;        * E:\JDK\jre\lib\ext\localedata.jar;        * E:\JDK\jre\lib\ext\nashorn        * .jar;E:\JDK\jre\lib\ext\sunec.jar;        * E:\JDK\jre\lib\ext\sunjce_provider.jar;        * E:\JDK\jre\lib\ext\sunmscapi.jar;        * E:\JDK\jre\lib\ext\sunpkcs11        * .jar;E:\JDK\jre\lib\ext\zipfs.jar;        * E:\JDK\jre\lib\javaws.jar;        * E:\JDK\jre\lib\jce.jar;        * E:\JDK\jre\lib\jfr.jar;        * E:\JDK\jre\lib\jfxswt.jar;        * E:\JDK\jre\lib\jsse.jar;        * E:\JDK\jre\lib\management-agent.jar;        * E:\JDK\jre\lib\plugin.jar;        * E:\JDK\jre\lib\resources.jar;        * E:\JDK\jre\lib\rt.jar;        * F:\云\Code\JavaSE\out\production\基础语法;        * F:\云\Code\JavaSE\基础语法\src\com\lib\commons-io-2.6.jar;        * D:\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar          * */    }}

关于"java类加载器有哪些及怎么用"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"java类加载器有哪些及怎么用"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0