При вызове loadClass()
на ClassLoader
, сначала проверяет ClassLoader
, был ли класс загружен, или делает это немедленно делегируйте эту проверку своему родителю ClassLoader
?
Java API говорит:
При запросе на поиск класса или ресурса экземпляр ClassLoader делегирует поиск класса или ресурса его загрузчику родительского класса, прежде чем пытаться найти сам класс или ресурс.
Но есть отдельная глава о загрузчике классов в книге Java Reflection in Action, в которой говорится:
Загрузчик класса вызывает findLoadedClass, чтобы проверить, был ли уже загружен класс. Если загрузчик классов не находит загруженный класс, вызывает loadClass на загрузчике родительского класса.
Что правильно?