Jvm在运行时,会产生3个Classloader:根装载器、ExtClassLoader和AppClassLoader。其中ExtClassLoader和AppClassLoader均为Classloader的子类。
1.根装载器。这个装载器不是ClassLoader的子类,根装载器是用c++写的,因此无法在Java 中看到,它主要负责装在JRE的核心类库,如rt.jar。
2.ExtClassLoader 也被称为扩展类装载器。主要负责装在JRE下ext中的jar包。
3.AppClassLoader 也被称为应用类装载器。主要负责classpath下的包,一般我们编写的类多是用这个装载器装载。