Поток загрузки классов для простой программы
Я только сейчас начинаю изучать внутреннюю архитектуру 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
поддерживает пространства имен классов, которые он загружает ". Под пространствами имен это означает литеральные имена класса? Также кто-то может объяснить, пожалуйста, смысл / преимущество этого?