JVM内置三大类加载器
类加载器父委托机制
![类加载器父委托机制](https://img-blog.csdnimg.cn/2019052711062520.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2R1bGVpMTc4MTY=,size_16,color_FFFFFF,t_70)
1.根类加载器
-
根加载器又称为
Bootstrap
类加载器。该加载器是最为顶层的加载器,没有任何父加载器。主要负责虚拟机核心类库的加载,比如整个
java.lang
包。
2.扩展类加载器
-
扩展类加载器的父加载器是根加载器,主要用于加载
JAVA_HOME
下的
jre\lb\ext
子目录里面的类库。
3.系统类加载器
-
它负责加载
classpath
下的类库资源。系统类加载器的父加载器是扩展类加载器,同时也是自定义类加载器的默认父加载器。
自定义类加载器
自定义类加载器都是 ClassLoader
的直接子类或者间接子类。