ホームページ >Java >&#&チュートリアル >Javaクラスローダーの使用方法にはどのようなものがありますか?

Javaクラスローダーの使用方法にはどのようなものがありますか?

王林
王林転載
2023-04-18 17:49:031134ブラウズ

1.loadClass, クラスのロード要求が来ると、まずキャッシュからクラスオブジェクトを見つけます。

直接リターンがある場合は、そうでない場合は、このタイプのロードの親ローダーに渡されます。ロードする親がない場合は、最上位のブート ローダーによってロードされます。それでも見つからない場合は、findClass() を使用してロードします;

2. FindClass

クラスのバイトコードを名前または位置でロードし、defineClass を使用します。通常はサブクラスの Class 実装によって行われますが、ClassLoader をカスタマイズする必要がある場合は、このメソッドをオーバーライドする必要があります。

3.defineClass

defineClass() メソッドは、バイト ストリームを JVM で認識できる Class オブジェクトに解析します (このメソッドのロジックは実装されています)このメソッドは、クラス ファイルを通じてクラス オブジェクトをインスタンス化するだけでなく、他のメソッドを通じてクラス オブジェクトをインスタンス化することもできます。たとえば、ネットワークを通じてあるタイプのバイトコードを受信し、それをバイト バイト ストリームに変換して、対応するクラスを作成します。オブジェクトを作成しますが、defineClass() メソッドは通常 findClass() メソッドと一緒に使用されます。通常、クラス ローダーをカスタマイズするときは、クラスローダーの findClass() メソッドを直接オーバーライドし、ロード ルールを記述します。クラスのバイトコードを取得した後、 () メソッドは、クラス ファイルを Class オブジェクトに変換するだけで、クラスの Class オブジェクトを生成します。

4.solveClassClass オブジェクトの作成後、同時に解決することもできます。

リンク フェーズでは主にバイトコードの検証、メモリの割り当て、クラス変数の設定、バイトコード ファイル内のシンボル参照の直接参照への変換が行われると前に述べました。

Java の基本データ型とは

Java の基本データ型は次のように分類されます:

1. 整数型。整数のデータ型を表すために使用されます。

2. 浮動小数点型、小数を表すために使用されるデータ型。

3. 文字型. 文字型のキーワードは「char」です。

4. ブール型は、論理値を表す基本的なデータ型です。

以上がJavaクラスローダーの使用方法にはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。