枚举类实现线程安全
单例模式:
单例模式是常用的设计模式,作用是确保某个类只有一个实例吗,自行实例化并向整个系统提供这个实例。线程池、缓存、日志对象、对话框对象等常被设计成单例,选择单例模式是为了避免不一致的状态
简单的实现可参考 单例模式
但是这样实现仍然存在缺点:序列化可能会破坏单例模式,每次反序列化一个序列化的对象实例时都会创建一个新的实例
可以使用枚举来实现,如下
public enum SingletonEnum { INSTANCE; private String name; public String getName(){ return name; } public void setName(String name){ this.name = name; } }
直接使用SingletonEnum.INSTANCE来
进行访问,不用考虑序列化和反射的问题。