Es gibt ein Idiom auf Englisch, "Er zog sich an seinen Bootstraps hoch." Die Stiefelriemen sind die kleinen Griffe an den Oberseiten der Stiefel und natürlich ist es unmöglich.
http://en.wikipedia.org/wiki/Booting
Der Artikel beschreibt den Prozess einen Computer von Booten, die für Bootstrapping kurz ist.
Was mit jedem Programm jedes Typs passiert, ist, dass ein Loader irgendeiner Art einige Bytes irgendwo in den Speicher kopiert und die Ausführung an einer vordefinierten Stelle in diesen Bytes beginnt.
Für Java ist der Boot Strap Loader möglicherweise eine Java-Klasse. (Jemand weiß es wahrscheinlich.) Aber es ist ein Programm, das die allerersten Klassen in den Speicher lädt und die JVM veranlaßt, mit dem Ausführen dieser Bits von geladenem Java-Code zu beginnen. Vielleicht lädt es den JVM-Code selbst. Vielleicht stellt es nur sicher, dass vorher ein bisschen Code die JVM geladen hat. Vielleicht ist es sogar erforderlich, dass die JVM bereits geladen und ausgeführt wurde.
Es ist nur ein Teil des Prozesses.
Siehe zwei detaillierte Antworten (vor allem von amicngh) http://stackoverflow.com/questions/11395074/who-load-the-java-system-classloader. Auch hier: http://www2.sys-con.com/itsg/virtualcd/java/archives/0808/chaudhri/index.html – mins
Siehe http://www.javabench.in/2012/02/java-class -loading.html –
Es stimmt, dass viele Klassen von rt, jar von bootstrap classloader geladen werden, aber nicht alle. Zur Bestätigung einfach ein einfaches Programm mit -verbose: class Argument wie "java -verbose: class HelloWorld" ausführen. Es wird alle geladenen Klassen von der JVM geben. Sie können feststellen, dass jede Klasse von rt.jar nicht von der JVM geladen wird. – hsingh