【2019春招准备:4.JVM java编译器 java解释器------4.2加载器双亲委派模型和破坏】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33907408/article/details/85211420

https://blog.csdn.net/zhangcanyan/article/details/78993959
双亲委派模型:Parents Delegation Model
作用:解决了各个类加载器的基础类统一的问题
模型的流程:一个classLoader收到类加载的请求,不会直接加载,而是将请求委派给父类加载器完成,逐级往上。只有当上层知道无法完成工作的时候,才会调用儿子。

在这里插入图片描述

破坏

第一次破坏

java.lang.ClassLoader在jdk1.0的时候就已经存在,双亲模型引入是jdk1.2
java.lang.ClassLoader中新增findClass(protected)方法,可以写入自己的类加载逻辑;1.0的时候是继承然后重写loadClass方法,现在是loadClass加载失败会调用findLClass方法。

第二次破坏?

需要调用classpath下面的接口类,进行加载,但是类加载器不认识
设计增添一个线程上下文加载器(Thread context classloader),可以从父进程那里继承或者自己设置。
这种情况,父亲加载器请求子类街在其进行完成

第三次破坏??

用户程序追求动态性,如OSGi,将树状结构变成了网状结构

猜你喜欢

转载自blog.csdn.net/qq_33907408/article/details/85211420
今日推荐