设计模式(单例模式)

单例模式

单例模式定义如下: 单例模式(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;
    }
}
相关推荐
廋到被风吹走4 小时前
【Java】常用设计模式及应用场景详解
java·开发语言·设计模式
Jaycee青橙7 小时前
软件设计模式详解
设计模式
alibli10 小时前
一文学会设计模式之结构型模式及最佳实现
c++·设计模式
博语小屋14 小时前
简单线程池实现(单例模式)
linux·开发语言·c++·单例模式
电子科技圈14 小时前
SiFive车规级RISC-V IP获IAR最新版嵌入式开发工具全面支持,加速汽车电子创新
嵌入式硬件·tcp/ip·设计模式·汽车·代码规范·risc-v·代码复审
利刃大大14 小时前
【JavaSE】十五、线程同步wait | notify && 单例模式 && 阻塞队列 && 线程池 && 定时器
java·单例模式·线程池·定时器·阻塞队列
七月丶15 小时前
Cloudflare 🌏 中国大陆网络访问优化 - 0元成本
人工智能·react.js·设计模式
筏.k16 小时前
C++ 设计模式系列:单例模式
c++·单例模式·设计模式
__万波__16 小时前
二十三种设计模式(十二)--代理模式
java·设计模式·代理模式
郝学胜-神的一滴16 小时前
Linux线程编程:从原理到实践
linux·服务器·开发语言·c++·程序人生·设计模式·软件工程