[研究ノート] JVMのスレッドコンテキストクラスローダを

スレッドコンテキストクラスローダが提供されて参照するには、多くの場所がありますが、コンストラクタ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アプリケーションの実行時のコンテキストローダーは、システムクラスローダです。コードスレッドの実行中には、クラスローダによってクラスおよびリソースをロードすることができます。

 

スレッドコンテキストクラスローダーの重要性

 

 

おすすめ

転載: www.cnblogs.com/heben/p/11455768.html