JVM内置三大类加载器
类加载器父委托机制
- 1.根类加载器
- 根加载器又称为
Bootstrap
类加载器。该加载器是最为顶层的加载器,没有任何父加载器。主要负责虚拟机核心类库的加载,比如整个 java.lang
包。
- 2.扩展类加载器
- 扩展类加载器的父加载器是根加载器,主要用于加载
JAVA_HOME
下的 jre\lb\ext
子目录里面的类库。
- 3.系统类加载器
- 它负责加载
classpath
下的类库资源。系统类加载器的父加载器是扩展类加载器,同时也是自定义类加载器的默认父加载器。
自定义类加载器
自定义类加载器都是 ClassLoader
的直接子类或者间接子类。