1.loadClass, クラスのロード要求が来ると、まずキャッシュからクラスオブジェクトを見つけます。
直接リターンがある場合は、そうでない場合は、このタイプのロードの親ローダーに渡されます。ロードする親がない場合は、最上位のブート ローダーによってロードされます。それでも見つからない場合は、findClass() を使用してロードします;
2. FindClass
クラスのバイトコードを名前または位置でロードし、defineClass を使用します。通常はサブクラスの Class 実装によって行われますが、ClassLoader をカスタマイズする必要がある場合は、このメソッドをオーバーライドする必要があります。
3.defineClass
defineClass() メソッドは、バイト ストリームを JVM で認識できる Class オブジェクトに解析します (このメソッドのロジックは実装されています)このメソッドは、クラス ファイルを通じてクラス オブジェクトをインスタンス化するだけでなく、他のメソッドを通じてクラス オブジェクトをインスタンス化することもできます。たとえば、ネットワークを通じてあるタイプのバイトコードを受信し、それをバイト バイト ストリームに変換して、対応するクラスを作成します。オブジェクトを作成しますが、defineClass() メソッドは通常 findClass() メソッドと一緒に使用されます。通常、クラス ローダーをカスタマイズするときは、クラスローダーの findClass() メソッドを直接オーバーライドし、ロード ルールを記述します。クラスのバイトコードを取得した後、 () メソッドは、クラス ファイルを Class オブジェクトに変換するだけで、クラスの Class オブジェクトを生成します。
4.solveClassClass オブジェクトの作成後、同時に解決することもできます。
リンク フェーズでは主にバイトコードの検証、メモリの割り当て、クラス変数の設定、バイトコード ファイル内のシンボル参照の直接参照への変換が行われると前に述べました。
Java の基本データ型は次のように分類されます:
1. 整数型。整数のデータ型を表すために使用されます。
2. 浮動小数点型、小数を表すために使用されるデータ型。
3. 文字型. 文字型のキーワードは「char」です。
4. ブール型は、論理値を表す基本的なデータ型です。
以上がJavaクラスローダーの使用方法にはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。