Описание тега classloader
Загрузчик классов - это объект, который отвечает за загрузку классов в Java.
Учитывая двоичное имя класса, загрузчик класса должен попытаться найти или сгенерировать данные, которые составляют определение класса. Типичная стратегия - преобразовать имя в имя файла, а затем прочитать "файл класса" с этим именем из файловой системы. Загрузчик классов также может делегировать полномочия другому загрузчику классов. Это может быть сделано до или после выполнения обычного поиска.
Каждый объект Class содержит ссылку на загрузчик классов, который его определил. Этот загрузчик классов используется средой выполнения для связывания с другими классами, на которые ссылается этот класс. Вместе с именем класса загрузчик определяющего класса однозначно идентифицирует класс. Следовательно, в Java можно иметь несколько классов с одним и тем же именем, если у них есть другой загрузчик определяющих классов.