全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

java类加载器的分类

发布时间:2022-08-09 16:52:00
发布人:qyf

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培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

相关文章

Vmlogin是干什么用的?

Vmlogin是干什么用的?

2023-10-14
Tornado的核心是什么?

Tornado的核心是什么?

2023-10-14
ORM解决的主要问题是什么?

ORM解决的主要问题是什么?

2023-10-14
敏捷开发中为什么很少用到Youtrack工具?

敏捷开发中为什么很少用到Youtrack工具?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取