【说站】java类加载器的分类
2025-01-12
19
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学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:3天前赞一波!
相关文章
- 【说站】java类的两种引用方法
- 【说站】java转义字符
- 【说站】java基本数据类型
- 【说站】java动态和静态语言的比较
- 【说站】java中Class类的概念介绍
- 【说站】java多态的向上转型是什么
- 【说站】java向下转型是什么意思
- 【说站】java重写发生的条件
- 【说站】java动态绑定怎么用
- 【说站】java多态的好处
- 【说站】java对象池的使用步骤
- 【说站】java向上转型发生的时机
- 【说站】java中变量的使用注意
- 【说站】java类加载的过程
- 【说站】java反射如何调用指定的属性
- 【说站】java RMI的工作过程
- 【说站】java反射机制提供哪些功能
- 【说站】java class实例代表哪些结构
- 【说站】java获取class实例的4种方式
- 【说站】java动态代理的原理
文章评论
评论问答