supongamos siguientes clases definición:¿La clase de Java se inicializa por el hilo que lo usa por primera vez?
public class A {
public final static String SOME_VALUE;
static {
SOME_VALUE = "some.value";
}
}
public class B {
private final String value = A.SOME_VALUE;
}
Suponiendo que la clase A no se ha cargado todavía, lo que sucede cuando el objeto de la clase B se crea una instancia de un poco de hilo T? La clase A tiene que cargarse e instanciarse primero. Pero mi pregunta es: ¿si se hace en el contexto del hilo T, o más bien en el contexto de algún otro hilo (especial) "cargador de clases"?
Creo que desde JDK7 puede tener dos clases del mismo cargador de clases inicializando al mismo tiempo. –
@Tom Pero eso no causaría problemas, p. si en un método igual pongo this.getClass() == obj.getClass() – saugata
Cada clase individual se inicializará una vez, pero puede haber múltiples clases diferentes en el mismo cargador de clases que se inicializan al mismo tiempo. Esto no puede suceder actualmente debido a la cerradura notada en su respuesta. (Creo que esto es correcto.) –