本帖最后由 张 涛 于 2012-9-14 09:51 编辑
张老师讲classLoader时,讲抽象类ClassLoader里的loadClass方法和findClass方法,讲的听不懂啊,也就是类加载器的原理,六分钟视频那个,没听懂。
高手给讲讲啊!!!
=====================================================================
类加载器的原理,自己查了些文档,看是否是这么回事?
1.派当前线程的类加载器加载class文件,首先该类用方法:class findclass(String str); 看该类是否已经加载,如果加载了,返回加载过的class。没有呢,返回null。
2.如果返回null,需要加载,他就把这个任务给自己的父类,父类给父类,一直到bootStrap。父类加载器去加载,此时判断自己的管辖范围,如果不属于自己的管辖范围,父类不加载,返回null。
3.父类又把任务交给子类,这样一直给到最开始加载类的加载器,他再加载,如果他也加载不了,返回错误。
4.如果加载了返回Class文件。
|