Java - Class Loader
关于 JDK 中自带的类加载器
类加载器
ClassLoader
:专门负责加载类的命令/工具
启动类加载器
父加载器
%JAVA_HOME%\jre\lib\rt.jar
rt.jar 中都是 JDK 最核心的类库
扩展类加载器
母加载器
%JAVA_HOME%\jre\lib\ext\*.jar
应用类加载器
classpath
中的 jar 包(class 文件)
Example
假设有这样一段代码:
1 |
|
代码在开始执行之前,会将所需要类全部加载到 JVM 当中
通过类加载器加载,以上代码类加载器会找 String.class 文件
找到就加载,加载不到会通过扩展类加载器加载
若依旧没加载到,会通过应用类加载器加载
双亲委派机制
父加载器和母加载器称为:双亲委派机制
- 优先从启动类加载器中加载,否则从扩展类加载器加载,保证了类加载的安全
Java - Class Loader
https://wataaaame.github.io/java/2022/07/11/Java - Class Loader/