设计模式-单例模式

懒汉式单例模式

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

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;
    }
}
相关推荐
fakerth10 小时前
【OpenHarmony】设计模式模块详解
c++·单例模式·设计模式·openharmony
alibli13 小时前
一文学会设计模式之创建型模式及最佳实现
c++·设计模式
1024肥宅15 小时前
前端常用模式:提升代码质量的四大核心模式
前端·javascript·设计模式
冷崖15 小时前
单例模式-创建型
c++·单例模式
郝学胜-神的一滴19 小时前
设计模式依赖于多态特性
java·开发语言·c++·python·程序人生·设计模式·软件工程
帅次19 小时前
系统分析师:软件需求工程的软件需求概述、需求获取、需求分析
设计模式·重构·软件工程·团队开发·软件构建·需求分析·规格说明书
EXtreme3520 小时前
【数据结构】算法艺术:如何用两个栈(LIFO)优雅地模拟队列(FIFO)?
c语言·数据结构·算法·设计模式·栈与队列·摊还分析·算法艺术
1024肥宅2 天前
JavaScript常用设计模式完整指南
前端·javascript·设计模式
特立独行的猫a2 天前
C++观察者模式设计及实现:玩转设计模式的发布-订阅机制
c++·观察者模式·设计模式
缪懿2 天前
javaEE:多线程,单列模式和生产者消费者模型
java·单例模式·java-ee