起因:
产生双亲委派机制的目的是为了防止码农们,创建和java内裤中相同的类,导致加载的类错误,这个很好理解吧,因为有些固定的类的使用都是用的java核心类库中的,如果这个错误不避免,将会引发很多问题,就像一种规则,你必须去遵守一样。
双亲委派机制是怎样的:
当你开心创建完一个类的时候,你就开心的去使用它,殊不知他背后的艰辛。
他的加载过程可以分为三层,第一层当然是从它内部的核心去加载,就是我们配置jdk时,最后那个rt.jar,好多常用的类都在其中。通过bootStrapClassLoader加载器去加在内部的核心类,当加载完成后,我们就可以怡然自得的去使用了,什么String了、double了等等,想怎么用就怎么用是。当然,有一些是核心类库当中没有的。这时候就要到第二层去寻找,就是扩展加载器(exClassLoader),去它当中去寻找,是否有我们需要的类,有的话就加载它,加载完毕后,就又可以愉快的编码了。但是如果,前两者,都没有,那怎么办,是不就没办法了呢?no、no、no、no,我们可以自己去创建,想创建什么对象就创建什么对象,有我们的第三个加载器去加载,加载完毕,就舒服了。当然,他们是有顺序的,顺序就是我上述的顺序,当你创建了和核心类相同的类时,是不会加载你的类的,这也很好理解,可以这样想,人家内部已经有了这个类,肯定是优先指定加载内部的类呀,要不然人内部封装这个类干嘛,给你看的吗?还有可以这样理解,假如说你有意见宝物,要传给你的儿子,但是一个与你特别好的关系的一个人也想要,难道你会给她,不给你的儿子吗???
个人理解,如有错误,望指正!感谢!!!