1. 程式人生 > >Java單例模式之懶漢模式及餓漢模式

Java單例模式之懶漢模式及餓漢模式

單例模式

單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。

這種模式涉及到一個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。這個類提供了一種訪問其唯一的物件的方式,可以直接訪問,不需要例項化該類的物件。

注意:

  • 1、單例類只能有一個例項。
  • 2、單例類必須自己建立自己的唯一例項。
  • 3、單例類必須給所有其他物件提供這一例項。
執行緒的安全的懶漢式單例模式程式碼:
class Singleton {
	private Singleton() {
	}

	private static Singleton instance = null;

	public static Singleton getInstance() {
		if(instance == null){
		synchronized (Singleton.class) {
			if (instance == null) {
				instance = new Singleton();
			}
		}
		}
		return instance;
	}
}
餓漢式單例模式程式碼:
class Singleton {  
    private static Singleton instance = new Singleton();  
    private Singleton (){}  
    public static Singleton getInstance() {  
    return instance;  
    }  
}  

參考教程:http://www.runoob.com/design-pattern/singleton-pattern.html