1、启动(Bootstrap)类加载器
它用来加载Java核心类,是用原生代码来实现的,并不继承自java.lang.ClassLoader(负责加载$JAVA_HOME中jre/lib/rt.jar的所有Class)
2、扩展(Extension)类加载器
扩展类加载器是指Sun公司实现的sun.misc.Launcher$ExtClassLoader类,它负责加载<JAVA_HOME>/jre/lib/ext目录下或者-Djava.ext.dir指定路径中的类库
3、系统(Application)类加载器
被称为系统(也称为应用)类加载器,它负责在JVM启动时加载来自Java命令的-classpath选项、java.class.path系统属性、或者classpath将变量指定的jar包和类路径
4、自定义(Custom)类加载器
自定义加载器通常需要继承自ClassLoader