单例模式

拈花ヽ惹草 提交于 2019-11-28 13:05:31

枚举类实现线程安全

单例模式:

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

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

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

 

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

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

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!