Es seguro el subproceso de creación singleton de Java ansioso?

e gusta la simplicidad del singleton ansioso en Java, y la mayoría de los artículos al respecto llaman seguro a su hilo de creación.

class Singleton {

public static final Singleton instance = new Singleton ();

    private Singleton (){};

    public static Singleton getInstance(){

        return instance;

    }
}

Sin embargo, he escuchado algunas afirmaciones de que su creación podría no ser segura para subprocesos después de todo. Por ejemplo, una fuente afirmó que no es seguro si se usa más de 1 cargador de clase o dominio de aplicación.

¿La creación de Eager Singleton garantiza que la JVM sea segura para subprocesos, de modo que, por ejemplo, 2 subprocesos no crean accidentalmente el singleton al mismo tiempo?

Edit: ¿Se requiere la palabra clave final para el subproceso seguro de la creación del objeto? ¿No es hilo si el campo no es final?

Respuestas a la pregunta(1)

Su respuesta a la pregunta