双亲委派机制

JVM 双亲委派机制

什么是双亲委派:如果一个类加载器收到了加载类的请求,首先会当前类加载器看看自己有没有加载过,没有就传递给上一层,如果找到了就返回,假设此类没有被加载过,那么他一层一层传递直到根目录类加载器,父类尝试去加载,父类加载器目录下没有这个类,反馈给子类,让子类尝试去加载。

双亲委派机制避免重复加载 ,核心类篡改。

这里有几个流程要注意一下:

子类先委托父类加载
父类加载器有自己的加载范围,范围内没有找到,则不加载,并返回给子类
子类在收到父类无法加载的时候,才会自己去加载
jvm提供了三种系统加载器:

启动类加载器(Bootstrap ClassLoader):C++实现,在java里无法获取,负责加载<JAVA_HOME>/lib下的类。
扩展类加载器(Extension ClassLoader): Java实现,可以在java里获取,负责加载<JAVA_HOME>/lib/ext下的类。
系统类加载器/应用程序类加载器(Application ClassLoader):是与我们接触对多的类加载器,我们写的代码默认就是由它来加载,ClassLoader.getSystemClassLoader返回的就是它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值