Java类加载器的双亲委派和全盘负责不矛盾吗?
我觉得不矛盾,因为在运行时这2个东西不会有任何关联,
当类加载器在加载一个类的时候,它首先不会马上去加载这个类,而是先把这个请求委派给父类去完成,而父类接受到加载请求的时候也不会马上去加载这个类,而是在交给自己的父类去加载,每一个层次加载器都是如此,直到父类加载器无法加载的时候,子类才会自己去尝试完成加载,我们的要实现的热部署原理就是要打破双亲委派加载机制,直接由子类来加载;而不去请求父加载器;
当一个A加载器加载一个类的时候,除非显式地使用另一个加载器B,否则该类的所有依赖和引用都使用这个A加载器; 也就是说,如果一个类 为User类,这个User类的加载器是AppClassLoader加载器加载的,那么这个User类下面的所有引用类的加载器都是AppClassUser;
1、unsafe类可以调用,要用反射来创建实例,
2、全盘委托已经写的很清楚了:当一个A加载器加载一个类的时候,除非显式地使用另一个加载器B,否则该类的所有依赖和引用都使用这个A加载器,
;
我想题主要想知道答案的话,最好自己写一个类加载试验下, 看看结果是啥,梦里问他千百遍,不如自己试一遍;