クラスローダが前提のクラスローディング機構であるため、クラスローディング機構を学習する前に、我々は最初のクラスローダを見てください。クラスローダの主なタスクは次のとおりです。クラスの完全修飾名は、クラスのバイトコードファイルがJVMにロードされ、その後、クラスオブジェクトのインスタンス対応のjava.lang.Classに変換します。プログラマは、一般的には、カスタムクラスローダに分けられ、抽象クラスClassLoaderクラスローダを、カスタムクラスローダ生まれ送信されますすることができます。
私たちのプログラムでは、最も一般的なクラスローダクロックのみ3:
- ブートストラップクラスローダ
- ExtClassLoader;
- AppClassLoader;(ロード・パスのクラスパスの下にあるすべてのクラスは、独自のクラスを記述します)
1.Bootstrapクラスローダ:
ブートストラップクラスローダ:JVM内にネストされ、C ++言語で書かれました。
2.ExtClassLoader、AppClassLoader:
ExtClassLoader、APPClassLoaderは、Java言語で書かれた、ClassLoaderを導出しました。
抽象クラスのクラスローダ: