关于JDK中自带的类加载器
1.什么是类加载器?
专门负责加载类的工具/命令
ClassLoader
2.JDK中自带3个类加载器
启动类加载器
扩展类加载器
应用类加载器
3 假设有一段这样代码
String b = “abc”;
代码在开始执行的时候,会将所有需要的类全部加载到JVM当中。
通过类加载器开始加载,看到以上代码类加载器会找到String.class
文件,找到就加载,那么是怎么进行加载的呢?
首先通过“启动类加载器” 加载(位于jdk配置文件jre/lib/rt.jar)
rt.jar中都是JDK最核心的类库
如果“启动类加载器”,加载不到的时候
会通过“扩展类加载器”(位于jdk配置文件jre/lib/ext下)
如果以上两种都没有,就通过“应用类加载器”,classpath中的类
也就是如下图
Java中为了保证类加载的安全,还使用了双亲委派机制。
优先从启动类加载器中加载,这个称为“父",
启动类加载器加载不到的情况下,会从扩展类加载器中加载,这个称为"母“。双亲委派
本文详细介绍了Java中的类加载器,包括启动类加载器、扩展类加载器和应用类加载器,以及它们在加载类时的角色。重点讲解了双亲委派机制,该机制确保类加载的安全性,先由启动类加载器尝试加载,接着是扩展类加载器,最后是应用类加载器。这一过程确保了JDK核心类库的优先加载,并防止用户自定义类覆盖系统类。

被折叠的 条评论
为什么被折叠?



