, Extention ClassLoader 加载额外的 /lib/ext 类库 , Application ClassLoader 加载开发者自己开发的类库 ;
加载完 开发者 开发的类库 后 ,...类加载任务 之后 , 也会 委托 父类的父类 类加载器 执行 ;
委托操作 , 会一直传递到 最顶层的 启动类加载器 Bootstrap ClassLoader ;
如果 启动类加载器 Bootstrap...;
同理 , 父类 委托 给子类的 类加载任务 , 如果 子类类加载器 可以完成加载 , 成功返回 , 如果子类类加载器无法完成加载 , 就再次 将 类加载任务 委托给 子类的子类 , 继续向下传递 ;..., 如果也无法加载 , 儿子再交给孙子去做 ;
双亲委派模式优点 :
避免了类重复加载 : 如果某 Class 类已经加载过了 , 通过该机制 , 可以 直接读取出已经加载的类 ;
安全性强 : 系统类...无法 被替代 , 系统类只能由 启动类加载器 Bootstrap ClassLoader 加载 , 应用类加载器 加载被篡改的 Java 核心类是无效的 ;