Java双亲委派机制的原理
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇内容主要讲解"Java双亲委派机制的原理",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java双亲委派机制的原理"吧!双亲委派机制我打开了我的Andr
千家信息网最后更新 2025年01月28日Java双亲委派机制的原理
本篇内容主要讲解"Java双亲委派机制的原理",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java双亲委派机制的原理"吧!
双亲委派机制
我打开了我的AndroidStudio,搜索了下"ClassLoader",然后打开"java.lang"包下的ClassLoader类。然后将代码翻到loadClass方法:
public Class> loadClass(String name) throws ClassNotFoundException {
return loadClass(name, false);
}
// -----????????-----
protected Class> loadClass(String name, boolean resolve)
throws ClassNotFoundException
{
// First, check if the class has already been loaded
Class> c = findLoadedClass(name);
if (c == null) {
try {
if (parent != null) {
c = parent.loadClass(name, false);
} else {
c = findBootstrapClassOrNull(name);
}
} catch (ClassNotFoundException e) {
// ClassNotFoundException thrown if class not found
// from the non-null parent class loader
}
if (c == null) {
// If still not found, then invoke findClass in order
// to find the class.
c = findClass(name);
}
}
return c;
}
其实这段代码已经很好的解释了双亲委派机制,为了大家更容易理解,我做了一张图来描述一下上面一段代码到底是怎么做的:
从上图中我们就更容易理解了,当一个Hello.class这样的文件要被加载时。不考虑我们自定义类加载器,首先会在AppClassLoader中检查是否加载过,如果有那就无需再加载了。如果没有,那么会拿到父加载器,然后调用父加载器的loadClass方法。父类中同理会先检查自己是否已经加载过,如果没有再往上。注意这个过程,知道到达Bootstrap classLoader之前,都是没有哪个加载器自己选择加载的。如果父加载器无法加载,会下沉到子加载器去加载,一直到最底层,如果没有任何加载器能加载,就会抛出ClassNotFoundException。
为什么要设计这种机制
这种设计有个好处是,如果有人想替换系统级别的类:String.java。篡改它的实现,但是在这种机制下这些系统的类已经被Bootstrap classLoader加载过了,所以并不会再去加载,从一定程度上防止了危险代码的植入。
到此,相信大家对"Java双亲委派机制的原理"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
机制
双亲
委派
代码
原理
方法
内容
系统
学习
检查
设计
实用
更深
危险
上图
兴趣
好处
实用性
实际
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
岳阳软件开发哪里好
u盘读写数据库
人脸识别系统数据库
5g移动通信网络技术简介
同时也要注意网络安全英语
服务器访问蜜罐系统
税务软件开发工资
计算机网络技术发展三大趋势
api的域名怎么设置服务器
网络安全主要面对的对象
查询当前数据库用户的权限
螃蟹服务器
行业网络安全等级保护
宝山区正规软件开发包括什么
计算机网络技术(武警)
无棣鑫岳化工网络安全
服务器插头基础知识
数据库登录安全性
php复杂条件查询数据库
江苏软件开发单位
2019网络安全图
虎林软件开发设计在线咨询
网络安全时间特点
海致bdp由海致网络技术
工业园区网络技术转让价格信息
共筑网络安全防线发言稿300字
相机sdk软件开发包
关于计算机网络技术的书籍
学软件开发需要用什么配置电脑
在数据库中投影运算的含义