スレッドコンテキストクラスローダが提供されて参照するには、多くの場所がありますが、コンストラクタsun.misc.Launcherクラスでは、たとえば、次のコードを見ることができます
知覚書き込む最初の確立の例
パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ System.out.printlnは(にThread.currentThread()getContextClassLoader())。 System.out.println(。スレッドクラス.getClassLoader()); } }
輸出
sun.misc.Launcher$AppClassLoader@18b4aac2 はnull
Threadクラスは、実際には主な機能、ローダのクラスがロードされ、現在のスレッド・コンテキスト・ローダ、システムクラスローダが、rt.jarのパッケージであるためであります
クラスローダ(現在のクラスローダ)の現在の概念
各クラスは他のクラスをロードするために、独自のクラスローダ(つまり、クラスローダが自身をロードするために)依存を使用します。例えばClassXロードに上品、次いでClassXクラスローダを引用した上品で、高級感がまだロードされていないことを条件とするであろう。
クラスローダのスレッドコンテキスト(コンテキストクラスローダ)
スレッドのコンテキストクラスローダはsetContextClassLoader(クラスローダCL)で始まりJDK1.2、ThreadクラスgetContextClassLoader()から導入された取得するために使用して、コンテキストクラスローダを設定しました。
setContextClassLoader(クラスローダCL)を介して設定されていない場合、スレッドは親スレッドのコンテキストクラスローダのを継承します。
初期スレッドのJavaアプリケーションの実行時のコンテキストローダーは、システムクラスローダです。コードスレッドの実行中には、クラスローダによってクラスおよびリソースをロードすることができます。
スレッドコンテキストクラスローダーの重要性