说明了他们是干什么的就能知道他们的不同点了:
bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类。
extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包。
system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性或者 CLASSPATH操作系统属性所指定的JAR类包和类路径。
AppClassLoader主要加载ClassPath下的字节码,类加载器的委托加载原理,首先加载类一直交给父类加载器加载,一直提交到bootstrap,当父类加载器加载不到时,在一层层的返回给下一级加载器加载 |