Java設計模式-單例模式-枚舉

  • 2020 年 3 月 17 日
  • 筆記

優缺點說明

1)這藉助於JDK1.5中添加的枚舉來實現單例模式。不僅能避免多執行緒同步問題,而且還能防止反序列化重新創建新的對象

2)這種方式是Effective Java作者Josh Bloch提倡的方式

3)結論:推薦使用

public class SingletonTest08 {      public static void main(String[] args) {          Singleton08 instance  = Singleton08.INSTANCE;          Singleton08 instance01 = Singleton08.INSTANCE;            System.out.println(instance == instance01);          System.out.println("instance,hashCode= " + instance.hashCode());          System.out.println("instance01,hashCode = " + instance01.hashCode());            instance.sayOK();      }  }    enum Singleton08{      INSTANCE;      public void sayOK() {          System.out.println("ok~");      }  }    // 運行結果  true  instance,hashCode= 1846274136  instance01,hashCode = 1846274136  ok~