设计模式(单例模式)

单例模式

单例模式定义如下: 单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。单例模式是一种对象创建型模式。

单例模式有三个要点:

  • 某个类只能有一个实例;
  • 它必须自行创建这个实例;
  • 它必须自行向整个系统提供这个实例。
java 复制代码
package com.pengpan.designmode.singlemode;

public class SingleMode {
    // volatile关键字防止指令重排序
    private volatile static SingleMode instance;
    // 构造函数私有化
    private SingleMode() {};

    // 双重校验锁
    public static SingleMode getInstance() {
        if (instance == null) {
            synchronized (SingleMode.class) {
                if (instance == null) {
                    instance = new SingleMode();
                }
            }
        }
        return instance;
    }
}
相关推荐
Asort5 小时前
JavaScript设计模式(二十一)——策略模式:灵活算法的艺术与实战
前端·javascript·设计模式
紫荆鱼18 小时前
设计模式-命令模式(Command)
c++·后端·设计模式·命令模式
杯莫停丶1 天前
设计模式之:装饰器模式
java·设计模式·装饰器模式
shi57831 天前
设计模式之 状态机 C#范例
设计模式·状态模式
Asort1 天前
JavaScript设计模式(二十)——状态模式 (State):复杂状态管理的优雅解决方案
前端·javascript·设计模式
紫荆鱼1 天前
设计模式-备忘录模式(Memento)
c++·后端·设计模式·备忘录模式
wyzqhhhh2 天前
前端常见的设计模式
前端·设计模式
m0_748233642 天前
C++开发中的常用设计模式:深入解析与应用场景
javascript·c++·设计模式
Wind哥2 天前
设计模式23种-C++实现
开发语言·c++·windows·设计模式
闲人编程2 天前
Python设计模式实战:用Pythonic的方式实现单例、工厂模式
开发语言·python·单例模式·设计模式·工厂模式·codecapsule·pythonic