Java类加载之双亲委派

JDK自带有三个类加载器:bootstrap ClassLoader、ExtClassLocader、AppClassLoader

1、BootStrapClassLoader是ExtClassLoader的父类加载器,负责加载%JAVA_HOME%/lib下的jar包和class文件
2、ExtClassLoader是AppClassLoader的父类加载器,负责加载%JAVA_HOME%/lib/ext下的jar包和class文件
3、AppClssLoader是自定义加载器的父类,负责加载classPath下的文件

 

双亲委派模型的好处

主要是为了安全,避免用户自己编写的类动态的替换了java核心类避免类的重复加载。在JVM中区分不同类,不仅仅是根据类名,相同的class文件被不同的ClassLoader加载就是不同的两个类

类加载的双亲委派模型

JVM在加载⼀个类时,会调⽤AppClassLoader的loadClass⽅法来加载这个类,不过在这个⽅法中,会先使⽤ExtClassLoader的loadClass⽅法来加载类,同样ExtClassLoader的loadClass⽅法中会先使⽤BootstrapClassLoader来加载类,如果BootstrapClassLoader加载到了就直接成功,如果BootstrapClassLoader没有加载到,那么ExtClassLoader就会⾃⼰尝试加载该类,如果没有加载到,那么则会AppClassLoader来加载这个类。
所以,双亲委派指得是,JVM在加载类时,会委派给父类加载器进⾏加载,如果没加载到才由⾃⼰进⾏加载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值