每天一个知识点(4)--JVM-类加载子系统-双亲委派

2021-05-15  本文已影响0人  gigglesoso

在上篇中介绍了JVM中的三种类加载器,按照父子关系分别为启动类加载器、扩展类加载器、应用程序类加载器三个。
当一个类收到了类加载请求,他首先不会尝试自己去加载这个类,而是把这个请求委派给父
类去完成,每一个层次类加载器都是如此,因此所有的加载请求都应该传送到启动类加载其中,
只有当父类加载器反馈自己无法完成这个请求的时候(在它的加载路径下没有找到所需加载的
Class),子类加载器才会尝试自己去加载。
采用双亲委派的一个好处是比如加载位于 rt.jar 包中的类 java.lang.Object,不管是哪个加载
器加载这个类,最终都是委托给顶层的启动类加载器进行加载,这样就保证了使用不同的类加载
器最终得到的都是同样一个 Object 对象。
双亲委派其实是JVM类加载上的一种安全机制,保证了一个类只会被加载一次。

上一篇 下一篇

猜你喜欢

热点阅读