Javaクラスローダーの一般的なメソッドは何ですか

WBOY
リリース: 2023-04-18 19:58:23
転載
1090 人が閲覧しました

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

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

2. FindClass

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

3.defineClass

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

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

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

Java の利点とは

1. シンプル、基本概念を理解していれば、さまざまな状況に適したアプリケーションを作成できる; 2. オブジェクト指向; 3. 配布、 Java はネットワーク指向の言語です; 4. 堅牢性 Java はメモリ管理のための自動ガベージ コレクションを提供し、プログラマがメモリ管理時にエラーを起こすことを防ぎます。 ; 5. セキュリティ: ネットワークおよび分散環境で使用される Java は、ウイルスの侵入を防止する必要があります。 6. 中立的なアーキテクチャ。Java ランタイム システムがインストールされている限り、どのプロセッサでも実行できます。 7. 移植性。Java はネットワーク上のさまざまなマシンに簡単に移植できます。 8. 解釈と実行。Java インタープリターは Java バイトコードを直接解釈して実行します。

以上がJavaクラスローダーの一般的なメソッドは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!