Java 类加载器加载流程和双亲委派机制

AppClassLoader应用加载器也是系统类加载器(SystemClassLoader),它会加载 Classpath 环境变量里定义的路径中的 jar 包和目录。

我们自己编写的代码以及使用的第三方 jar 包通常都是由它来加载的。

例如:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("当前类的ClassLoader: "
                + HelloWorld.class.getClassLoader());
    }
}
输出

Java AppClassLoader 加载器

我们看到HelloWorld的类加载器是AppClassLoader。

加载第三方jar包的例子

System.out.println("fastjson 类加载器:"
		+ com.alibaba.fastjson.JSON.class
		.getClassLoader());
输出

fastjson 类加载器:sun.misc.Launcher$AppClassLoader@659e0bfd

 同样的也是使用的是AppClassLoader类加载器。