双亲委派模型是Java类加载器的一种工作模式。在这个模式下,当一个类加载器收到类加载任务时,它不会自己去加载,而是把这个任务委派给父类加载器去完成。所有的类加载请求最终都应该被传递到顶层的启动类加载器中去,只有当父类加载器无法完成类加载任务时,子类加载器才会尝试自己去加载。
具体来说,根据双亲委派模型,在加载类文件的时候,子类加载器首先将加载请求委托给它的父加载器,父加载器会检测自己是否已经加载过该类,如果已经加载过,则加载过程结束,如果没有加载过,则请求会继续向上传递,直到顶层的启动类加载器。如果请求向上委托的过程中,始终没有检测到该类已经被加载,则启动类加载器开始尝试从其对应的类路径中加载该类文件。
双亲委派模型的主要目的是为了确保Java程序的安全性。因为如果一个类加载器试图加载一个它自己无法加载的类,它会尝试去其父类加载器那里请求加载,这样就可以确保所有的类都能够被正确地加载。