简介
介绍使用枚举的方式创建单例, 其他方式可以参考单例模式
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
public class SingletonPattern {
private SingletonPattern() { }
public static SingletonPattern getInstance() { return SingleEnum.INSTANCE.getSingletonPattern(); }
private enum SingleEnum {
INSTANCE;
private SingletonPattern singletonPattern;
SingleEnum() { this.singletonPattern = new SingletonPattern(); }
public SingletonPattern getSingletonPattern() { return singletonPattern; } }
}
|
优点
1.比双重锁检查相对简洁
2.线程安全
3.自动处理序列化
4.防止反射