Существует идиома на английском языке: «Он поднялся на свои бутстрапы». Сапоги-ремни - это маленькие ручки верхних ботинок сапог и, конечно же, невозможные.
http://en.wikipedia.org/wiki/Booting
В статье объясняется процесс загрузки компьютера, который короток для самонастройки.
Что происходит с каждой программой каждого типа, так это то, что какой-то загрузчик где-то копирует некоторые байты в память и начинает выполнение в предопределенном месте в этих байтах.
Для Java загрузочный планер-загрузчик может быть или не быть классом Java. (Возможно, кто-то знает.) Но это какая-то программа, которая загружает первые несколько классов в память и заставляет JVM начать выполнение этих бит загруженного Java-кода. Возможно, он загружает сам код JVM. Возможно, это просто гарантирует, что какой-то предшествующий бит кода загрузил JVM. Возможно, это даже требует, чтобы JVM уже был загружен и запущен.
Его просто часть процесса.
См. Два подробных ответа (особенно по amicngh) http://stackoverflow.com/questions/11395074/who-load-the-java-system-classloader. Также здесь: http://www2.sys-con.com/itsg/virtualcd/java/archives/0808/chaudhri/index.html – mins
См. Http://www.javabench.in/2012/02/java-class -loading.html –
Верно, что многие классы из rt, jar загружаются загрузчиком bootstrap, но не все. Для подтверждения просто запустите простую программу с аргументом -verbose: class, например «java -verbose: class HelloWorld». Это даст всем загруженным классам JVM. Вы можете заметить, что каждый класс из rt.jar не загружается JVM. – hsingh