Che cos'è un'inizializzazione pigra in Singleton?
Che cos'è un'inizializzazione pigra in Singleton?

Video: Che cos'è un'inizializzazione pigra in Singleton?

Video: Che cos'è un'inizializzazione pigra in Singleton?
Video: Singleton Design Pattern- Design patterns in Java - Arnab Sir 2024, Maggio
Anonim

Inizializzazione pigra è una tecnica dove si rimanda il istanziazione di un oggetto fino al suo primo utilizzo. In altre parole, l'istanza di una classe viene creata quando è necessario utilizzarla per la prima volta. L'idea alla base di questo è evitare la creazione di istanze non necessarie.

Quindi, cos'è l'inizializzazione pigra in Java?

Inizializzazione pigra è un'ottimizzazione delle prestazioni. Viene utilizzato quando i dati sono considerati "costosi" per qualche motivo. Ad esempio: se il valore hashCode per un oggetto potrebbe non essere effettivamente necessario per il suo chiamante, il calcolo sempre dell'hashCode per tutte le istanze dell'oggetto potrebbe non essere ritenuto necessario.

Ci si potrebbe anche chiedere, come si fa a rompere un singleton? La serializzazione viene utilizzata per convertire un oggetto di flusso di byte e salvarlo in un file o inviarlo su una rete. Supponiamo di serializzare un oggetto di a singleton classe. Quindi se deserializzi quell'oggetto creerà una nuova istanza e quindi rottura il singleton modello.

Di conseguenza, cos'è l'inizializzazione pigra e ansiosa?

Inizializzazione pigra Questa è la tecnica con cui limitiamo la creazione dell'oggetto fino a quando non viene creato dal codice dell'applicazione. In altro modo inizializzazione impaziente crea l'oggetto in anticipo e subito dopo aver avviato l'applicazione o il modulo. Ciò è utile nel caso in cui l'oggetto sia obbligatorio e in tutti i casi funzionante.

A che serve la classe singleton?

In Java il Modello singolo assicurerà che ci sia solo un'istanza di a classe viene creato nella Java Virtual Machine. è Usato per fornire un punto di accesso globale all'oggetto. In termini pratici usa Singleton i modelli sono Usato in logging, cache, pool di thread, impostazioni di configurazione, oggetti driver di dispositivo.

Consigliato: