Встречается на собеседованиях • сегодня

Сколько знаешь ClassLoader

В Java есть несколько типов ClassLoader'ов:

  1. Bootstrap ClassLoader – загружает основные классы Java (rt.jar и другие из jre/lib). Написан на нативном коде, не является Java-классом.
  2. Extension ClassLoader – загружает классы из jre/lib/ext или указанные в java.ext.dirs.
  3. System (Application) ClassLoader – загружает классы из classpath.

Также можно создавать свои кастомные ClassLoader'ы, наследуясь от ClassLoader или URLClassLoader.

Пример кастомного ClassLoader:

java
public class CustomClassLoader extends ClassLoader {
    @Override
    protected Class<?> findClass(String name) throws ClassNotFoundException {
        byte[] byteCode = loadClassData(name); // Логика загрузки байт-кода
        return defineClass(name, byteCode, 0, byteCode.length);
    }
}

Иерархия загрузки – делегирование родителю (Parent-First), но можно переопределить логику.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы