双亲委派机制

双亲委派机制_第1张图片

双亲委派机制_第2张图片

双亲委派机制流程

当Application ClassLoader 收到一个类加载请求时,他首先不会自己去尝试加载这个类,而是将这个请求委派给父类加载器Extension ClassLoader去完成。

当Extension ClassLoader收到一个类加载请求时,他首先也不会自己去尝试加载这个类,而是将请求委派给父类加载器Bootstrap ClassLoader去完成。

如果Bootstrap ClassLoader加载失败(在\lib中未找到所需类),就会让Extension ClassLoader尝试加载。

如果Extension ClassLoader也加载失败,就会使用Application ClassLoader加载。

如果Application ClassLoader也加载失败,就会使用自定义加载器去尝试加载。

如果均加载失败,就会抛出ClassNotFoundException异常。

双亲委派机制作用

保证了java的稳定运行,避免了类的重复加载;保证java核心API不被篡改,提高了安全性(如果有人想篡改String类,类加载器优先让启动加载器加载,发现已经加载过了,就不会再加载)

你可能感兴趣的:(Java,java)