类加载器:JVM启动的第一步就是要加载指定的类,加载是指找到具有特定名称的类或接口的二进制文件。加载的过程是通过ClassLoader及其子类实现的。三个系统自带的加载器
1)Bootstrap:加载Java核心库:java.*;
2)Extension:加载java扩展库:javax.*;
3)Application:加载应用程序Class文件。
类加载过程:
1)首先使用当前线程的类加载器去加载第一个类
2)如果类A引用了类B,那么JVM将使用加载类A的加载器去加载类B
3)直接调用ClassLoader.load()来指定某个类加载器加载一个类。
每个类加载器在加载一个类时,首先委托给他的父类(以及父类的父类,依次回溯)去加载,如果父类没有再由子类寻找。
|
|