Как загружается загрузчик классов загрузки 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, написан в собственном коде.