设计模式-单例模式

懒汉式单例模式

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

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;
    }
}
相关推荐
Yu_Lijing12 小时前
基于C++的《Head First设计模式》笔记——生成器模式
c++·笔记·设计模式
sg_knight13 小时前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式
吐个泡泡v14 小时前
Python 开发“设计模式”指南
python·设计模式
程序员小寒15 小时前
JavaScript设计模式(一):单例模式实现与应用
javascript·单例模式·设计模式
砍光二叉树15 小时前
【设计模式】创建型-原型模式
设计模式·原型模式
helloworddm16 小时前
第一篇:设计模式在 Android 视频播放器中的实战应用
android·设计模式·音视频
.select.16 小时前
C++ 单例模式
java·c++·单例模式
砍光二叉树16 小时前
【设计模式】创建型-建造者模式
设计模式·建造者模式
bbq粉刷匠1 天前
Java--多线程--单例模式
java·开发语言·单例模式