クラスファイルはJavaではJVMを介してロードされます。クラスのロード方法は暗黙的ロードと明示的ロードに分けられます。このうち、暗黙的ロード中に new を通じてオブジェクトが作成されると、対応するクラス ファイルがクラス ローダーを通じて暗黙的に JVM にロードされます。明示的なロードでは、class.forName() を通じて必要なクラス ファイルを JVM に明示的にロードします。
Java 言語では、すべてのクラス ファイルを一度に JVM にロードするのではなく、最初に基本クラスが JVM にロードされ、必要に応じて他のユーザー クラスが JVM にロードされます。
Java 言語では、クラスはシステム クラス、拡張クラス、カスタム クラスの 3 つのカテゴリに分類できます。これら 3 種類のファイルに対して異なるクラス ローダーが提供されます
Bootstrap Loader - システム クラスのロードを担当します
ExtClass Loader - - 拡張クラスのロードを担当します
AppClassLoader - アプリケーション クラスのロードを担当します
クラスのロード プロセスには、主に次の手順があります: (詳細については、「Java 仮想マシンの詳細を理解する」を参照してください)
1ロード: 検索パスに従って検索し、対応するクラス ファイルをインポートします。
2. リンク: リンクは 3 つのステップに分けることができます
using using
’ s ’s 2.
’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ ’ への連携 : シンボルを解決参照を直接参照に変換します
3. 初期化: 静的変数と静的コード ブロックに対して初期化作業を実行します。
以上がJavaのクラスローディング機構の例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。