单例模式

简介: 单例模式

singleton模式



单例模式,在系统里,你要判断一下,如果有一些类,只需要一个实例对象就可以了,那就给那个类做成单例的模式


常见的场景


(1)比如说,你自定义了一个框架,自定义了一份xml格式的一个配置文件,你要读取这个配置文件,这个配置文件中的数据,读取到类中,这个类的实例,只要保存一份就可以。那么此时可以使用单例模式,将这个类做成他的实例只能有一个,在这个实例中保存了配置文件中的数据


(2)类似于我们之前给大家讲解的那个工厂模式,有些工厂是需要实例化对象的,要基于实例化对象,来实现继承、接口、实现等功能,工厂实例可以做成单例的,就可以了

(3)你自己去判断,如果是一个类的实例只需要保持一份,那就做成单例


饿汉式:

//饿汉
public class Singleton {
    private static final Singleton instance =new Singleton();
    private Singleton() {
    }
    public static Singleton getInstance(){
        return instance;
    }
}
//懒汉式
//懒汉式 双重检查 线程安全
public class LazySingleton {
    private static LazySingleton lazySingleton;
    public static LazySingleton getInstance() {
        if (lazySingleton == null) {
            synchronized (LazySingleton.class) {
                if (lazySingleton == null) {
                    lazySingleton = new LazySingleton();
                }
            }
        }
        return lazySingleton;
    }
}




相关文章
|
3月前
|
设计模式 安全 测试技术
【C++】—— 单例模式详解
【C++】—— 单例模式详解
|
设计模式 安全 编译器
2023-6-12-第三式单例模式
2023-6-12-第三式单例模式
65 0
|
3月前
|
C++
【C++ 单例模式】
【C++ 单例模式】
|
3月前
|
设计模式 安全
【单例模式】—— 每天一点小知识
【单例模式】—— 每天一点小知识
|
安全 Java
原来要这么实现单例模式
原来要这么实现单例模式
45 0
找对象需要单例模式吗?
单例模式的类只提供私有的构造函数
|
安全 Java
单例模式很简单
《基础系列》
102 0
单例模式很简单
|
设计模式 缓存 JSON
没那么简单的单例模式
没那么简单的单例模式
120 0
没那么简单的单例模式
|
设计模式 安全 Java
回顾一下单例模式
回顾一下单例模式
|
存储 设计模式 缓存
浅谈单例模式
本文描述设计模式中的单例模式