枚舉
枚舉應用實例
代碼演示
package com.atguigu.principle.singleton.type08;/**
*/
public class SingletonTest08 {public static void main(String[] args) {Singleton instance = Singleton.INSTANCE;Singleton instance2 = Singleton.INSTANCE;System.out.println(instance == instance2);System.out.println(instance.hashCode());System.out.println(instance2.hashCode());instance.sayOK();}}// 使用枚舉 ,可以實現單例, 推薦使用
enum Singleton{INSTANCE;public void sayOK() {System.out.println("ok~");}
}
優缺點說明:
-
這借助jdk1.5天假的枚舉來實現單例模式. 不僅能夠避免多線程同步問題,而且還能夠防止反序列化重新創建新的對象
-
這種方式 是 Effective Java 作者 Josh Bloch 提倡的方式
-
結論: 推薦使用
更多
參考:你知道嗎?枚舉單例模式是世界上最好的單例模式!!!
天馬行空
如果不考慮前輪打滑,前驅是最好的驅動形式
如果不考慮鋼帶打滑,CVT是最好的變速箱
更多:http://victorfengming.gitee.io/design_pattern/