设计模式(单例模式)

单例模式

单例模式定义如下: 单例模式(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;
    }
}
相关推荐
绿豆人15 小时前
Go设计模式学习
学习·设计模式·golang
逮到647了17 小时前
23种设计模式简述
设计模式
爱吃烤鸡翅的酸菜鱼18 小时前
【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间
java·开发语言·设计模式·工具类·位运算·合成复用原则
geovindu19 小时前
go: Model,Interface,DAL ,Factory,BLL using mysql
开发语言·mysql·设计模式·golang·软件构建
guojb82420 小时前
当 Vue 3 遇上桥接模式:手把手教你优雅剥离虚拟滚动的业务大泥球
vue.js·设计模式
我登哥MVP20 小时前
【Spring6笔记】 - 15 - Spring中的八大设计模式
java·spring boot·笔记·spring·设计模式·intellij-idea
无籽西瓜a21 小时前
【西瓜带你学设计模式 | 第十六期 - 迭代器模式】迭代器模式 —— 统一遍历实现、优缺点与适用场景
java·后端·设计模式·迭代器模式·软件工程
程序员小寒1 天前
JavaScript设计模式(十):模板方法模式实现与应用
前端·javascript·设计模式·模板方法模式
likerhood1 天前
关于三种工厂的设计模式总结
设计模式
榴莲omega1 天前
第14天:React 工程化与设计模式
前端·react.js·设计模式