简介

介绍使用枚举的方式创建单例, 其他方式可以参考单例模式

代码


/**
* 使用枚举单例
*
* @author liuzhihang
* @date 2018/8/17 17:34
*/
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.防止反射