Java

1、虚拟机类加载器(称为“bootstrap class loader”),它本身没有父类加载器,它负责加载虚拟机的内置类,由于它是用C、C++写的,所以Java无法拿到其class文件,返回的都是空,因为C、C++编译后不是*.class文件

 
 

2、JDK扩展类加载器(sun.misc.Launcher$ExtClassLoader),它是虚拟机类加载器的子类,它负责加载java.x包下的类。

 
 

3、系统(应用)类加载器(sun.misc.Launcher$AppClassLoader),它是JDK扩展类加载器的子类,它负责加载classpath下的自定义类。

 
 

Java中,所有自定义加载器的顶级父类都是java.lang.ClassLoader

 
原文地址:https://www.cnblogs.com/andremao/p/7860571.html