【高级开发进阶】1.1.3 双亲委派模型及如何打破

首先得知道什么是双亲委派模型?为什么要打破它?打破它用途是什么?

双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应当有自己的父类加载器

上面所介绍的这几种类加载器的层次关系,称为类加载器的双亲委派模型

类随着它的类加载器一起具备了一种带有优先级的层次关系

例如类java.lang.Object,它由启动类加载器加载。双亲委派模型保证任何类加载器收到的对java.lang.Object的加载请求,最终都是委派给处于模型最顶端的启动类加载器进行加载,因此Object类在程序的各种类加载器环境中都是同一个类。相反,如果没有使用双亲委派模型,由各个类加载器自行去加载的话,如果用户自己编写了一个称为java.lang.Object的类,并用自定义的类加载器加载,那系统中将会出现多个不同的Object类,Java类型体系中最基础的行为也就无法保证,应用程序也将会变得一片混乱。

那为什么要打破它?

posted @ 2021-02-03 20:45  javawxid  阅读(69)  评论(0编辑  收藏  举报