双亲委派机制

类加载器双亲委派模型图

双亲委派机制_第1张图片
双亲委派模型构成
启动类加载器,扩展类加载器,应用程序类加载器,自定义类加载器

双亲委派模型工作过程是
如果一个类加载器收到类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器完成。每个类加载器都是如此,只有当父加载器在自己的搜索范围内找不到指定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载。

为什么需要双亲委派模型?
如果没有双亲委派,那么用户是不是可以自己定义一个java.lang.Object的同名类,java.lang.String的同名类,并把它放到ClassPath中,那么类之间的比较结果及类的唯一性将无法保证,因此,双亲委派模型可以防止内存中出现多份同样的字节码。

你可能感兴趣的:(双亲委派机制)