Я только сейчас начинаю изучать внутреннюю архитектуру Java. Я грубо понял концепцию загрузки класса, которая загружает требуемые классы при запуске jvm
, ClassNotFoundException
вызывается, когда класс не найден, а определенный загрузчик классов загружает классы, на которые ссылается класс.
Может кто-то, пожалуйста, ясно объяснить поток загрузки класса, то есть последовательность загрузки загрузочного класса и пользовательскую загрузку классов в примерном Java-коде ниже.
import java.io.File;
public class Sample
{
public static void main(String[] args)
{
String fileName = "sample";
File file = new File(fileName);
file.isFile();
}
}
Также я узнал из справочного материала, что "classloader
поддерживает пространства имен классов, которые он загружает". По пространству имен это означает буквальные имена класса? Также может кто-то объяснить объяснение/преимущество этого?