Java虚拟机-类加载-双亲委派模型

双亲委派模型

叫什么?
答:一种类加载器组合关系模型
描述什么?
答:Bootstrap(启动类加载器) Extension(标准扩展类加载器) Application(应用类加载器) Custom(自定义类加载器) 三者之间的关系
过程是怎么样的?
答:
req–>类加载器–>委托父类加载器完成。
父类不存在无法完成<–父类加载器
类加载器–>委托父类的父类加载器完成。

类加载器–>委托顶层类加载器完成。
父类存在无法完成<–父类加载器
类加载器–>自己动手丰衣足食。

优点是什么?
答:保证Object类所有的类加载器环境中都是同一个类。

缺点:自己实现为rt.jar的类加载到Classpath中,可以编译,但无法加载运行。
否则,多个类 程序混乱,无法运行。

实现是怎么样的?
答:loadclass->检查是否加载?否 调用父类加载器loadclass方法
未找到父类加载器 使用启动类加载器加载
找到父类加载器 ClassNotFoundException 使用自己类加载器loadClass方法。
可不可以不用?
可以 自己实现一种模型。

你可能感兴趣的:(后端,java)