Javaでは、すべてのクラスがクラスローダーによってロードされていると言われています。
まず最初に、bootstrap= classloaderはすべてのrt.jarクラスをロードします。
Classloaderはクラスでもあるため、私はまだ混乱していますだからだれがこのBootStrapClassloaderをロードするでしょうか
親切に説明してください。
Answer:JVMが起動すると、システムクラスローダーをロードするマシンコードの特別なチャンクが実行されます。このマシンコードは、Bootstrap/Primordial(または- Null)クラスローダー。
他のすべてのクラスローダーとは異なり、Javaクラスではありません。 bootstrapクラスローダーは、クラスロードプロセス全体を開始するプラットフォーム固有のマシン命令です。
すべてのクラスローダーは、bootstrapクラスローダーを除き、Javaクラスとして実装されます。何かをロードする必要がありますプロセスを開始する最初のJavaクラスローダー。最初の純粋なJavaクラスローダーのロードは、bootstrapクラスローダーの仕事です。
bootstrapクラスローダーは、Java.utilおよびJava.langパッケージのクラスを含む、基本的なJava Runtime Environment(JRE)をサポートするために必要なすべてのコードのロードも処理します。
Bootstrap Classloaderはクラスローダーであり、すべてが実際にはJVMコアの一部であり、ネイティブコードで記述されています。
クラスローダーはオブジェクトになることができ、表現も必要です。実際、これにより、ユーザー定義のクラスローダーを作成することもできます。
英語で「彼はブートストラップで自分を引き上げた」というイディオムがあります。ブートストラップは、ブーツの上面の小さなハンドルであり、もちろん不可能です。
http://en.wikipedia.org/wiki/Booting
この記事では、ブートストラップの略であるコンピューターのブートプロセスについて説明します。
すべてのタイプのすべてのプログラムで起こることは、ある種のローダーがいくつかのバイトをメモリのどこかにコピーし、それらのバイトの事前定義された場所で実行を開始することです。
Javaの場合、ブートストラップローダーは、Javaクラスです。(誰かが知っていると思います。)ロードされたJavaコードのこれらのビットの実行を開始するJVM。たぶん、JVMコード自体をロードするかもしれません。既にロードされ、実行されている。
プロセスのほんの一部です。