其他分享
首页 > 其他分享> > 类加载器-双亲委派机制

类加载器-双亲委派机制

作者:互联网

简而言之,向上判断是否加载过,向下判断是否可以加载

当加载某类时(1、new一个类;2、调用Class.forName / ClassLoader.loadClass),先看当前类加载器(AppClassLoader)是否加载过,如果未加载过,委托给父加载器(ExtClassLoader),如果它也未加载过,继续委托给其父加载器(BootStrapClassLoader)

如果都未加载过,开始向下判断是否可以加载,BootStrapClassLoader > ExtClassLoader > AppClassLoader,但凡有可以加载的,即直接加载该类,若都无法加载,则抛出异常:ClassNotFoundException

图片来源:https://blog.csdn.net/codeyanbao/article/details/82875064

 

补充知识点:

Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。

ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。

AppClassLoader:主要负责加载应用程序的主函数类

 

标签:委派,判断,ExtClassLoader,是否,BootStrapClassLoader,AppClassLoader,双亲,加载
来源: https://www.cnblogs.com/devinseu/p/15832645.html