Что делают загрузчики классов?
В языке Java применяется динамический тип загрузки используемых классов, которую выполняют лоадеры (они же загрузчики). Они происходят от класса ClassLoader, который является абстрактным. Также они отвечают за загрузку прочих файлов, в которых содержаться ресурсы.
Загрузка элементов ссылочного типа, в том числе классов, вместе с их потомками, выполняется в автоматическом режиме, непосредственно перед их инициализацией. Применяется то же ClassLoader, который был использован для загрузки всего код. Поэтому, загрузка классов, в том числе встроенных, является ленивой.
Возможна ручная загрузка из определённого загрузчика. Для этого требуется передать в метод загрузчика loadClass двоичное название требуемого класса.
В стандартных лоадерах Java в качестве источника используется файл *.class. Некоторые лоадеры могут иметь другие источники, например, сеть или они способны создавать классы в режиме реального времени, как это делает лоадер из javassist.
Бесплатные Telegram-боты для обучения
Практика с проверкой кода и помощью ИИ-ментора
AndroidSprint AI Mentor
Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7
Попробовать ИИ-ментора →KotlinSprint Bot
22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью
Начать обучение Kotlin →