设计模式-单例模式

懒汉式单例模式

在第一次使用该实例的时候才会创建。

java 复制代码
package com.cocoa.singletonDemo;

/**
 * 懒汉式 单例模式
 */
public class Singleton {
    // 构造方法私有化
    private Singleton(){}
    // 单例实例
    private static Singleton singleton = null;
    public static Singleton getInstance(){
        if (singleton == null){
            synchronized (Singleton.class){
                if (singleton == null){
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }
}

饿汉式单例模式

在类加载的时候就将实例创建出来了。

java 复制代码
package com.cocoa.singletonDemo;

/**
 * 饿汉式 单例模式
 * 在 类初始化 的时候就 自行实例化 了
 */
public class Singleton1 {
    // 构造方法私有化
    private Singleton1(){}
    // 单例实例
    private static Singleton1 singleton = new Singleton1();
    public static Singleton1 getInstance(){
        return singleton;
    }
}
相关推荐
等一场春雨2 小时前
Java设计模式 八 适配器模式 (Adapter Pattern)
java·设计模式·适配器模式
晚秋贰拾伍4 小时前
设计模式的艺术-命令模式
运维·设计模式·运维开发·命令模式·开闭原则
ZoeLandia4 小时前
从前端视角看设计模式之行为型模式篇
前端·设计模式
__water5 小时前
14_音乐播放服务_字典缓存避免重复加载
单例模式·c#·unity6000·字段缓存·audiosource
晚秋贰拾伍5 小时前
设计模式的艺术-迭代器模式
设计模式·迭代器模式
小肚肚肚肚肚哦8 小时前
函数式编程中各种封装的对比以及封装思路解析
前端·设计模式·架构
课堂随想10 小时前
`std::make_shared` 无法直接用于单例模式,因为它需要访问构造函数,而构造函数通常是私有的
c++·单例模式
w(゚Д゚)w吓洗宝宝了10 小时前
单例模式 - 单例模式的实现与应用
开发语言·javascript·单例模式
等一场春雨20 小时前
Java设计模式 九 桥接模式 (Bridge Pattern)
java·设计模式·桥接模式
等一场春雨1 天前
Java设计模式 十四 行为型模式 (Behavioral Patterns)
java·开发语言·设计模式