枚举类实现线程安全

单例模式:

单例模式是常用的设计模式,作用是确保某个类只有一个实例吗,自行实例化并向整个系统提供这个实例。线程池、缓存、日志对象、对话框对象等常被设计成单例,选择单例模式是为了避免不一致的状态

简单的实现可参考 单例模式

但是这样实现仍然存在缺点:序列化可能会破坏单例模式,每次反序列化一个序列化的对象实例时都会创建一个新的实例

 

可以使用枚举来实现,如下

public enum  SingletonEnum {
    INSTANCE;
    private String name;
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
}

直接使用SingletonEnum.INSTANCE来进行访问,不用考虑序列化和反射的问题。

 

posted on 2019-08-25 16:11  MC伍  阅读(111)  评论(0编辑  收藏  举报