什么叫双亲委派机制?,首先需要了解一下ClassLoader,在java工具开发的源码,会被编译器编译成.class字节码文件,然后由ClassLoader负责将这些class问价加载到JVM中去执行。
JVM中提供了三层的ClassLoader:
Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等),构造ExtClassLoader和APPClassLoader。
ExtClassLoader:主要负责加载jre/lib/ext目录下的一些扩展的jar。
AppClassLoader:主要负责加载应用程序的主函数类
简单的讲就是,某个特定的类加载器在接到加载类的请求时,并不是自己马上去加载,而是首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。