ho 2 opzioni:Singleton e variabile statica pubblica Java
Singleton modello
class Singleton{ private static Singleton singleton = null; public static synchronized Singleton getInstance(){ if(singleton == null){ singleton = new Singleton(); } return singleton; } }
usando un
static final
campoprivate static final Singleton singleton = new Singleton(); public static Singleton getSingleton() { return singleton; }
cosa è la differenza? (singletreadreaded o multithreaded)
Aggiornamenti: Sono a conoscenza di Bill Pugh o del metodo enum
. Non sto cercando il modo corretto, ma ho usato solo 1. C'è davvero qualche differenza b/n 1 o 2?
Dopo la domanda aggiornata nessuna differenza. –
questa domanda non ha nulla a che fare con Singleton. chiedi informazioni sull'accesso a un campo statico dal contesto sincronizzato/non sincronizzato. modifica i tag per favore. – Juvanis
@BhavikAmbani Non sono d'accordo poiché la prima opzione bloccherà ogni thread che tenta di ottenere l'istanza e quindi è leggermente meno performante. –