双亲委派机制

双亲委派机制流程

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

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

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

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

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

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

双亲委派机制作用

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

相关推荐
小灰灰__7 分钟前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭10 分钟前
Java中的动态代理
java·开发语言·aop·动态代理
程序媛小果31 分钟前
基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现
java·vue.js·spring boot
追风林36 分钟前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
芒果披萨1 小时前
El表达式和JSTL
java·el
duration~2 小时前
Maven随笔
java·maven
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
跃ZHD2 小时前
前后端分离,Jackson,Long精度丢失
java
blammmp2 小时前
Java:数据结构-枚举
java·开发语言·数据结构
暗黑起源喵2 小时前
设计模式-工厂设计模式
java·开发语言·设计模式