双亲委派机制解读

双亲委派机制(Parental Delegation)是一种在软件开发中常见的权限管理和类加载机制。

这种机制通常用于解决在复杂软件系统中的类加载、权限控制等问题。在Java语言中,双亲委派机制被广泛使用。它的基本思想是,当一个类加载器试图加载某个类时,它会先委托给其父类加载器,如果父类加载器无法加载,再由当前类加载器自己进行加载。这种层层委派的方式有助于保障类的唯一性,避免类的重复加载,并提高系统的安全性和稳定性。


一、类加载器层次结构


具体而言,Java的类加载器分为三个层次:

1.启动类加载器(Bootstrap Class Loader): 负责加载Java的核心库,是最顶层的类加载器,通常由C++编写。

2.扩展类加载器(Extension Class Loader): 负责加载Java的扩展库。

3.应用程序类加载器(Application Class Loader): 也称为系统类加载器,负责加载应用程序类路径上指定的类库。

二、工作原理

当一个类需要被加载时,先判断此类是否已经被加载,如果类已经被加载则返回。如果类没有被加载,然后依次委派给父类加载(父类加载时会判断该类有没有被自己加载过),如果父类加载器能够成功加载,则直接返回。这一过程一直持续到顶层的启动类加载器,否则依次由子类加载器尝试加载,通过这种逐级委派的方式,保证了类加载的有序性和唯一性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值