Sobes.tech
Junior — Middle

¿En qué momento se crea una instancia del patrón Singleton?

sobes.tech AI

Respuesta de la IA

La creación de una instancia del patrón Singleton ocurre en el momento del primer acceso a esa instancia, si se utiliza un método de inicialización perezosa (lazy).

Es decir, el objeto se crea en la primera llamada al método que devuelve la instancia Singleton, por ejemplo, getInstance(). Esto permite retrasar la creación del objeto hasta que sea necesario, ahorrando recursos.

Ejemplo de inicialización perezosa del Singleton en Android/Java:

public class Singleton {
    private static Singleton instance;

    private Singleton() {
        // constructor privado
    }

    public static synchronized Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Si, en cambio, se utiliza la inicialización en carga de clase (eager initialization), entonces la instancia se crea inmediatamente al cargar la clase, antes del primer acceso.