第一次加载的类文件
来源:6-6 ClassLoader的双亲委派机制

慕姐9575131
2020-04-24
老师,我有一个疑问,按您说的类加载器从底往上的去查看曾经是否加载过该类,那么对于第一次加载的文件来说,最后都会走到最顶层,然后由bootstrapClassLoader去加载?我的困惑点是,对于第一次加载的文件来说,到底是那一层去把文件转化为class文件?
写回答
1回答
-
同学好,加载请求都会被传送到顶层的启动类加载器中,只有当父加载无法完成加载请求(它的搜索范围中没找到所需的类)时,子加载器才会尝试去加载类。
使用双亲委派模型的好处在于Java类随着它的类加载器一起具备了一种带有优先级的层次关系。例如类java.lang.Object,它存在在rt.jar中,无论哪一个类加载器要加载这个类,最终都是委派给处于模型最顶端的Bootstrap ClassLoader进行加载,因此Object类在程序的各种类加载器环境中都是同一个类。
对于我们一般应用的class文件来讲,如果不指定是哪个类加载器,默认都会是AppClassLoader,因为它是加载的classpath下面的类文件
012020-07-16
相似问题