Java类加载器加载的方式有三种:
引导类加载器(Bootstrap Class Loader):也称为根类加载器,它是Java虚拟机的一部分,用于加载Java核心类库,如rt.jar等。它是最顶层的类加载器,由C++实现,不继承自java.lang.ClassLoader。
扩展类加载器(Extension Class Loader):也称为系统类加载器,用于加载Java的扩展类,如javax包中的类。它由sun.misc.Launcher$ExtClassLoader实现,是由Java编写的,是用来加载 %JAVA_HOME%/lib/ext目录下的jar包。
应用程序类加载器(Application Class Loader):也称为用户自定义类加载器,用于加载应用程序中的类。它由sun.misc.Launcher$AppClassLoader实现,是由Java编写的,是ClassLoader类的子类,主要负责加载应用程序类路径(classpath)下的类。