Как загружается загрузчик классов загрузки Java Bootstrap Classloader?

В java говорится, что все классы загружаются загрузчиками классов.

Итак, прежде всего, bootstrap classloader загружает все классы rt.jar.

Итак, я все еще запутался, поскольку Classloader также является классом, , поэтому кто будет загрузите этот BootStrapClassloader.

Просьба объяснить.

Ответ 1

Ответ. При запуске JVM запускается специальный кусок машинного кода, загружающий загрузчик системных классов. Этот машинный код известен как Bootstrap/ Primordial (или иногда - Null) загрузчик классов.

Это не Java-класс вообще, как и все другие загрузчики классов. Загрузочный загрузчик bootstrap - это машинные инструкции, специфичные для платформы, которые запускают весь процесс загрузки классов.

Все загрузчики классов, за исключением загрузчика классов bootstrap, реализованы как классы Java. Что-то должно загрузить самый первый загрузчик классов Java, чтобы запустить процесс. Загрузка первого чистого Java-загрузчика классов - это задача загрузчика классов bootstrap.

Загрузочный загрузчик bootstrap также выполняет загрузку всего кода, необходимого для поддержки базовой среды Java Runtime Environment (JRE), включая классы в java.util и java.lang.

Источник: http://www.theserverside.com/tutorial/Classloaders-Demystified-Understanding-How-Java-Classes-Get-Loaded-in-Web-Applications

Ответ 2

Загрузочный загрузчик Bootstrap, являющийся загрузчиком классов и всего, фактически является частью ядра JVM, и он написан в собственном коде.

Погрузчики классов могут быть объектами, им также нужно представление. Фактически это также позволяет создавать пользовательские загрузчики классов.

Ответ 3

На английском языке есть идиома: "Он подтянулся к своим бутстрапам". Боковые ремни - это маленькие ручки верхних ботинок сапог и, конечно же, невозможные.

http://en.wikipedia.org/wiki/Booting

В статье описывается процесс загрузки компьютера, который не подходит для начальной загрузки.

Что происходит с каждой программой каждого типа, так это то, что какой-то загрузчик каким-то образом копирует некоторые байты в память и начинает выполнение в предопределенном месте в этих байтах.

Для Java загрузчик загрузочных лент может быть или не быть классом Java. (Возможно, кто-то знает.) Но это какая-то программа, которая загружает первые несколько классов в память и заставляет JVM начать выполнение этих бит загруженного Java-кода. Возможно, он загружает сам код JVM. Возможно, это просто гарантирует, что какой-то предшествующий бит кода загрузил JVM. Возможно, это даже требует, чтобы JVM уже был загружен и запущен.

Его просто часть процесса.

Ответ 4

Установленный путь JDK: jdk\jre\lib\rt.jar

это место называется bootstrap class path. Загрузочный загрузчик класса Bootstrap отвечает за загрузку классов из пути класса bootstrap.

Загрузочный загрузчик класса Bootstrap по умолчанию доступен с помощью JVM. Он реализован на родном языке, как C и С++.

Ответ 5

Загрузочный загрузчик класса загрузки загружает основные библиотеки Java, расположенные в каталоге /jre/lib. Этот загрузчик классов, который является частью основного JVM, написан в собственном коде.