枚举
枚举应用实例
代码演示
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/