Fluxo de carregamento de classe para um programa simples

Agora estou começando a aprender a arquitetura interna do Java. Entendi o conceito de carregamento de classe que carrega as classes necessárias quandojvm corre,ClassNotFoundException é lançado quando uma classe não é encontrada e o carregador de classes específico carrega as classes referenciadas pela classe.

Alguém pode explicar claramente o fluxo de carregamento de classe, ou seja, a sequência de carregamento de classe de autoinicialização e carregamento de classe definido pelo usuário no código Java de amostra abaixo.

import java.io.File;
public class Sample
{
    public static void main(String[] args)
    {
        String fileName = "sample";
        File file = new File(fileName);
        file.isFile();
    }
} 

Também aprendi com um material de referência que "classloader mantém os namespaces das classes que carrega ". Por namespaces, isso significa os nomes literais da classe? Também alguém pode explicar a implicação / vantagem disso?

questionAnswers(5)

yourAnswerToTheQuestion