詳細親クラスローダ委譲メカニズム
- 親委譲メカニズムでは、親子関係が形成に従って、各クラスローダツリー構造をルートクラスローダを除いては、(実際には論理的な関係があって)、クラスローダの残りの部分は、唯一の親ローダーを持っています。
-
成功したクラスローダがロードテストクラスは、クラスローダは言及されている場合は定義されたクラスローダは、すべての戻りクラスが正常に(カスタムクラスローダを含む)オブジェクトのクラスローダに適用と呼ばれている最初のクラスローダー。[上の写真、システムクラスローダを参照することができる:クラスローダは、クラスローディングシステムを定義し、loader1呼ぶことができる:最初のクラスローダ]
-
例:
public class MyTest7 { public static void main(String[] args) throws ClassNotFoundException { Class<?> clazz1 = Class.forName("java.lang.String"); System.out.println(clazz1.getClassLoader()); Class<?> clazz2 = Class.forName("Jvm.D"); System.out.println(clazz2.getClassLoader()); } } class D{ } 运行结果: null --》 就根类加载器 sun.misc.Launcher$AppClassLoader@18b4aac2 --》AppClassLoader,就是系统类加载器
-