Singleton Pattern

20 Dec 2022 . design .


lazy (not thread safe)

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

lazy (thread safe)

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

hungry

public class Singleton {  
    private static Singleton instance = new Singleton();  
    private Singleton (){}  
    public static Singleton getInstance() {  
		    return instance;  
    }  
}