栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

双亲委派模型

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

双亲委派模型

工作原理:

如果一个类加载器收到了加载某个类加载的请求,该类加载器并不会去加载该类,而是把这个请求委派给父类加载器执行,每一个层次的类加载器都是如此,因此所有的类加载请求最终都会传送到顶端的启动类加载器;如果父类加载器可以完成类加载任务,就成功返回;只有当父类加载器在其搜索范围内无法找到所需的类,并将该结果反馈给子类加载器,子类加载器会尝试去自己加载。这就是双亲委派模式。

双亲委派模式的好处

1.避免类的重复加载。因为JVM不区分类名。虚拟机只有在两个类的类名相同且加载该类的加载器均相同的情况下才判定这是一个类。若不采用双亲委派机制,同一个类有可能被多个类加载器加载,这样该类会被识别为两个不同的类,相互赋值时会有问题。双亲委派机制能保证多加载器加载某个类时,最终都是由一个加载器加载,确保最终加载结果相同。

2 .安全性。避免用户自己写的类动态替换java的一些核心类,比如说String。比如假设通过网络传递一个名为java.lang.Integer的类,通过双亲委托模式传递到启动类加载器,而启动类加载器在核心Java API发现这个名字的类,发现该类已被加载,并不会重新加载网络传递的过来的java.lang.Integer,而直接返回已加载过的Integer.class,这样便可以防止核心API库被随意篡改。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886164.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号