双亲委派模型是什么

58 阅读2分钟

双亲委派模型(Parental Delegation Model)是Java虚拟机(JVM)中的一种类加载机制,它是一种层次化的类加载模型,在计算机安全、访问控制和操作系统中尤为重要。以下是关于双亲委派模型的详细介绍:

1、双亲委派模型原理:

双亲委派模型是建立在一个树形结构上的,每个节点代表一个类加载器(ClassLoader)。当需要加载一个类时,首先会将请求发送给父级类加载器,如果父级无法找到该类,则会将请求发送给子级类加载器。这个过程会一直持续到找到该类或者所有的类加载器都无法找到该类为止。如果所有的类加载器都无法找到该类,那么就会由当前节点自己尝试去查找并载入该类。

2、双亲委派模型的作用:

隔离命名空间:每个类加载器都有自己的命名空间,相同的类文件在不同的类加载器中被视为不同的类。这样可以避免类的冲突和混乱。

3、双亲委派模型的安全性:

通过双亲委派模型,可以确保核心Java类库只由启动类加载器加载,防止恶意代码替换核心类库,提高系统的安全性。 代码复用:双亲委派模型鼓励代码的复用,当一个类已经被加载过后,它就会被缓存起来,下次需要加载时可以直接返回缓存的Class对象,提高了性能。

4、双亲委派模型的优点:

避免重复加载:因为每个节点都会先向其父节点请求,所以在整个树形结构中只有最顶层的节点会尝试去查找并载入某个特定的类,这样可以避免类的重复加载。