詳細11 - 親クラスローダ委譲メカニズム

詳細親クラスローダ委譲メカニズム

  • 親委譲メカニズムでは、親子関係が形成に従って、各クラスローダツリー構造をルートクラスローダを除いては、(実際には論理的な関係があって)、クラスローダの残りの部分は、唯一の親ローダーを持っています。

ここに画像を挿入説明
ここに画像を挿入説明

  • 成功したクラスローダがロードテストクラスは、クラスローダは言及されている場合は定義されたクラスローダは、すべての戻りクラスが正常に(カスタムクラスローダを含む)オブジェクトのクラスローダに適用と呼ばれている最初のクラスローダー[上の写真、システムクラスローダを参照することができる:クラスローダは、クラスローディングシステムを定義し、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,就是系统类加载器
      
公開された12元の記事 ウォンの賞賛0 ビュー220

おすすめ

転載: blog.csdn.net/qq_40574305/article/details/104784265