1. Default ClassLoader in Java:
BootStrap(jre/lib/rt.jar) <--- ExtClassLoader(jre/lib/Ext/*.jar) <--- AppClassLoader(Ourselves Class)
2. Java 类的委托机制
a. 使用当前线程的类加载器去加载第一个需要加载的类A, 接着用A的类加载器去加载B....
b. 也可以强制指定ClassLoader.loadClass()来指定某个类的类加载器去加载你需要的类
c. 每个类加载器加载类的时候采用的策略: 不是先自己去加载,而是交给父级类加载器去加载,直到Bootstrap, 然后再按 父-->子 所辖范围顺序依次寻找, 所有的祖宗倘若都加载不到,才回到任务的发起者(第一个类加载器)去加载,倘若还是加载不到的话,则抛出ClassNotFoundException .
Java类加载器Learning Note
最新推荐文章于 2024-09-05 10:39:00 发布