设计模式-单例模式

懒汉式单例模式

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

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;
    }
}
相关推荐
政采云技术7 小时前
前端设计模式详解
前端·设计模式
崎岖Qiu9 小时前
【设计模式笔记07】:迪米特法则
java·笔记·设计模式·迪米特法则
杯莫停丶15 小时前
设计模式之:模板模式
开发语言·设计模式
lapiii35815 小时前
14天极限复习软考day4-法律、设计模式
设计模式
紫荆鱼17 小时前
设计模式-迭代器模式(Iterator)
c++·后端·设计模式·迭代器模式
紫荆鱼21 小时前
设计模式-状态模式(State)
c++·后端·设计模式·状态模式
紫荆鱼1 天前
设计模式-代理模式(Proxy)
c++·后端·设计模式·代理模式
YA3331 天前
java设计模式七、代理模式
java·设计模式·代理模式
Asort1 天前
JavaScript设计模式(二十一)——策略模式:灵活算法的艺术与实战
前端·javascript·设计模式
紫荆鱼2 天前
设计模式-命令模式(Command)
c++·后端·设计模式·命令模式