看到这样一句话:如果程序对线程上下文类加载器没有任何改动的话,程序中所有的线程将都使用系统类加载器作为上下文类加载器
1.如果使用了系统类加载器,而系统类加载器的内部还是使用了委派的机制,这样如何说是抛弃了委派机制呢?
2.当前类加载器,上下文类加载器,引导类加载器,扩展类加载器,系统类加载器,这些简单来说是怎样的关系呢?是不是前两者的内部其实还是后面三种来实现的?
因为代码已经是这么实现的,而线程上下文可以自己实现
我自己就懒得多解释了,自己可以查帖子呀,别老随便就问题...
看看这个吧,估计你疑惑基本解除了
http://www.iteye.com/topic/136427
我回答时候没看太清楚,也没想太多,没考虑语气,sorry~
1.是指默认使用系统类加载器,如果不做任何修改,任何线程的默认加载器是系统类加载器,但是线程加载器是可以自己制定的,制定的就可以不遵循双亲委派。因为很多情况下双亲委派解决不了,所以需要定制的,这也算sun给自己开的一个后门。
Thread.currentThread().setContextClassLoader(制定的线程加载器)
2.前两者是制定的,可以定制的,很多服务器厂商有classloader方案,后面三种应该是sun的标准方式。文章应该有描述。
使用了默认的系统加载器,还是双亲委派的