java虚拟机(四)双亲委派模型

双亲委派模型是在实现在类加载器之间的。

一般有三种类加载器  启动类加载器  扩展类加载器     应用程序加载器。  在没有自己定义的类加载器出现 我们的应用程序是由这三种类加载器相互配合的。

从名字可以看出  启动类加载器是最顶层的   应用程序是底层的

那么该模型的工作过程就是,如果一个类加载器收到了类加载的请求,他不会自己去尝试加载这个类,而是把请求传递给父类,父类再传递 。 如果最顶层的父类 可以加载请求 类就加载成功,否则,再一级级下来。 也就是说,如果父类可以解决,子类就不会自己去解决它。

到这里有人会觉得很奇怪,那为什么呢?我们知道 不同的类加载器去加载一个类的时候,产生出来的类是不同的。那jvm为了保证 基础类都是相同的,就要让同一个类加载器去加载类。

举一个例子,Object    如果又不用的类加载器去加载 那会有什么样的情况?  结果就是,有不同的Object类。那其他类到底是继承哪个Object?很难说。

发布了82 篇原创文章 · 获赞 49 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/xu505928168/article/details/97394588