双亲委派模型的工作过程:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到最顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求时,子加载器才会尝试自己去完成加载。
为了保证应用程序的稳定有序。
例如类java.lang.Object
,它存放在rt.jar
之中,通过双亲委派机制,保证最终都是委派给处于模型最顶端的启动类加载器进行加载,保证Object
的一致。反之,都由各个类加载器自行去加载的话,如果用户自己也编写了一个名为java.lang.Object
的类,并放在程序的 ClassPath
中,那系统中就会出现多个不同的Object类。