ExpertiDict

Java · Intermediário · Inglês · Técnico

classloader

/ˈklæsˌloʊdər/substantivo

Componente da JVM que localiza e carrega classes na memória sob demanda, a partir de JARs, diretórios ou da rede. Cada classe pertence ao loader que a definiu.

Onde usar

Aparece em ClassNotFoundException, hot reload e servidores de aplicação. Duas cópias da mesma classe em loaders diferentes não são o mesmo tipo.

Em código

var cl = String.class.getClassLoader();
System.out.println(cl); // null: bootstrap
var app = ClassLoader.getSystemClassLoader();
System.out.println(app.getParent());

Exemplos

Each plugin gets its own classloader.

Cada plugin recebe seu próprio classloader.

The same class from two classloaders is treated as two different types.

A mesma classe vinda de dois classloaders é tratada como dois tipos diferentes.

Cuidado

A mesma classe em dois classloaders gera uma ClassCastException estranha: 'X cannot be cast to X'.

Sinônimos

carregador de classes

Veja também

Todos os termos de Java