單例模式(SingletonPattern)

極客小智發表於2020-11-28

確保某個類只有一個例項,並且自行例項化並向整個系統提供這個例項,這個類稱為單例類,它提供全域性訪問的方法。

  • 單例模式只包含一種角色那就是單例角色,Singleton(單例)。
  • 單例模式有三個要點:
  • 這個類只有一個例項
    • 它自行建立這個例項
    • 它自行向整個系統提供這個例項

餓漢式(執行緒安全)

public class EagerSingleton {

    private static EagerSingleton eagerSingleton = new EagerSingleton();

    private EagerSingleton() {
        System.out.println("餓漢式構造器被呼叫");
        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public static EagerSingleton getInstance() {
        return eagerSingleton;
    }
}

懶漢式(非執行緒安全)

public class LazySingleton {

    private static LazySingleton lazySingleton;

    private LazySingleton() {
        Syst

相關文章