JAVA開発におけるclassLoaderクラスロード機構の詳細説明

无忌哥哥
リリース: 2018-07-18 11:25:15
オリジナル
1832 人が閲覧しました

jvm には、上から下に 3 つのクラス ローダー (ユーザー定義ローダー) があります:

bootstrap classLoader このクラス ローダーは、Java 仮想マシンの起動時に jdk コア クラス ライブラリをメモリにロードします

extension classLoader extension クラス ローダー、このクラスローダーは、jre

システムのいくつかのjarをロードするクラスライブラリです。 classLoader システムクラスローダー、このクラスローダーは、クラスパスの下にある指定されたクラスライブラリをメモリにロードします

カスタム classLoader ユーザー定義のクラスローダー、クラスローダーは、プログラマー自身。プログラムの実行中に、クラス ファイルは java.lang.classLoader のサブクラスを通じて動的にロードされます

ロード メカニズム:

Java クラスのロード メカニズムは、親委任メカニズムと呼ばれます。ローダーがクラスをリクエストすると、まずクラスがメモリにロードされているかどうかをボトムアップでクエリし、ロードされている場合はクラスを直接返します。ロードされていない場合は、まず親クラス ローダーにクラスのロードを委託します。現在のローダーに親クラスがある場合は、親クラスがクラスをロードできない場合にのみ、それ自体をロードできない場合は次のレベルに戻ります。場合、クラスが見つからない例外 (ClassNotFoundException) が返されます。たとえば、java.lang.String クラスをロードするためにユーザー定義のローダーが必要な場合、java.lang.String は jdk のコア ライブラリ クラスであるため、ユーザー定義のローダーがロードされると実際にはブートストラップ classLoader が使用されます。ローダーが使用されると、最初に親クラス ローダーにデリゲートされます。

以上がJAVA開発におけるclassLoaderクラスロード機構の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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