Java Classloader — это основной компонент Java Runtime Environment (JRE), отвечающий за загрузку классов по требованию в Java Virtual Machine (JVM) во время выполнения программы. JVM использует иерархическую модель делегирования с тремя основными classloaders.
Bootstrap Classloader загружает основные классы Java API из файла rt.jar, расположенного в директории установки JRE. Этот загрузчик отвечает за инициализацию фундаментальных классов Java, необходимых для работы JVM.
Extension Classloader загружает опциональные JAR-файлы из директории lib/ext в установке Java. Это позволяет разработчикам расширять функциональность стандартной Java дополнительными библиотеками без изменения основной JRE.
System Classloader (также называется Application Classloader) загружает классы из classpath приложения, который указывается через переменную окружения CLASSPATH или аргументы командной строки. Это наиболее часто используемый загрузчик для пользовательских классов приложения.
Классы можно загружать из нескольких источников:
Эти три загрузчика работают в иерархической модели делегирования, где каждый classloader делегирует запросы на загрузку классов своему родительскому загрузчику перед тем, как попытаться загрузить класс самостоятельно. Это гарантирует, что основные классы Java никогда случайно не будут переопределены кодом приложения.
Bootstrap Classloader загружает классы из директории lib/ext и отвечает за инициализацию опциональных расширений Java.
Новый — ещё не проверен сообществом
Вы