java基础 双亲委派模型

java基础 双亲委派模型

legegeCoder 1,102 2021-07-18
  • 类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远远不限于类的加载阶段

  • 对于任意一个类,都需要由它的类加载器和这个类本身一同确定其在就Java虚拟机中的唯一性(类 + 它的类加载器 = JVM唯一性)

  • 两个类来源于同一个Class文件,只要加载它们的类加载器不同,那这两个类就必定不相等
    如下图所示的这种层次关系称为类加载器的双亲委派模型:
    105211242593

  • 双亲委派模型的工作流程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把请求委托给父加载器去完成,依次向上。

  • 所有的类加载请求最终都应该被传递到顶层的启动类加载器中,只有当父加载器在它的搜索范围中没有找到所需的类时,即无法完成该加载,子加载器才会尝试自己去加载该类

通俗

放在过去的生活中,你有一个影响家族命运的决定。你不能自己做决定,你会把这个决定权给你爹,你爹也不能自己做决定,会给你爷爷,你爷爷会给你太爷爷。以次往复直到上面没人了(太太太爷爷是这个家族最大的人),那么(太太太爷爷)就可以尝试做决定了。好处是有了清晰的层级关系,有利于家族稳定(:滑稽


# Java # Java基础