单例模式

简介: 单例模式

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;
    }
}




相关文章
|
4月前
|
C++
C++单例模式
C++中使用模板实现单例模式的方法,并通过一个具体的类A示例展示了如何创建和使用单例。
41 2
|
6月前
|
存储 设计模式 测试技术
单例模式
单例模式
|
安全 Java
原来要这么实现单例模式
原来要这么实现单例模式
65 0
|
设计模式 缓存 JSON
没那么简单的单例模式
没那么简单的单例模式
133 0
没那么简单的单例模式
|
设计模式 安全 Java
回顾一下单例模式
回顾一下单例模式
|
设计模式 缓存
我学会了,单例模式
单例模式属于创建型模式,这个类型的设计模式是将 对象的创建和使用解耦了,花式的去创建对象。
142 0
我学会了,单例模式
|
数据采集 设计模式 算法
大佬,人人都说精通的单例模式,你精通了吗
大佬,人人都说精通的单例模式,你精通了吗
97 0
大佬,人人都说精通的单例模式,你精通了吗
|
设计模式 数据库 Python
|
XML 设计模式 安全
单例模式,真不简单
单例模式,真不简单
单例模式,真不简单
|
设计模式 Java
单例模式的应用(2)
单例模式的应用(2)
136 0