单例模式

简介: 单例模式

1.单例

(1)饱汉模式(懒汉模式)–双重加锁检查DCL(Double Check Lock)----调用时才实例化对象

public class MyTestBean {
    private static volatile MyTestBean myTestBean;
  //私有方法防止外部实例化
    private MyTestBean() {
    }
    public static MyTestBean getInstance() {
        if (myTestBean == null) {
            synchronized (MyTestBean.class) {
                if (myTestBean == null) {
                    myTestBean = new MyTestBean();
                }
            }
        }
        return myTestBean;
    }
}

(2)饿汉----启动时就实例化对象

public class Singleton {
//4:定义一个静态变量来存储创建好的类实例
//直接在这里创建类实例,只会创建一次
    private static Singleton instance = new Singleton();
//1:私有化构造方法,好在内部控制创建实例的数目
    private Singleton(){
    }
//2:定义一个方法来为客户端提供类实例
//3:这个方法需要定义成类方法,也就是要加static
//这个方法里面就不需要控制代码了
    public static Singleton getInstance(){
//5:直接使用已经创建好的实例
        return instance;
    }
}


相关文章
|
7月前
|
设计模式 安全 测试技术
【C++】—— 单例模式详解
【C++】—— 单例模式详解
|
7月前
|
设计模式 安全
详细讲解什么是单例模式
详细讲解什么是单例模式
|
9天前
|
设计模式 安全 C#
单例模式详解
单例模式是一种常用的创建型设计模式,确保某个类只有一个实例,并提供一个全局访问点。本文详细介绍了单例模式的定义、特点、适用场景、优缺点及实现代码(C++ 和 C#),并探讨了线程安全的实现细节和与依赖注入的结合使用。
22 0
|
2月前
|
C++
C++单例模式
C++中使用模板实现单例模式的方法,并通过一个具体的类A示例展示了如何创建和使用单例。
35 2
|
7月前
|
C++
【C++ 单例模式】
【C++ 单例模式】
|
设计模式 Java Spring
什么场景要使用单例模式,什么场景不能使用?
经常有小伙伴问我,设计模式学了这么久,每次看到概念也都能理解。但是,就是不知道怎么用,在哪里能用?我告诉大家,设计模式,不是为了要用而用的,而是作为前人总结下来的经验,等到哪天需要用的时候,你能想起来为你所用。
110 0
|
安全 Java
原来要这么实现单例模式
原来要这么实现单例模式
60 0
|
设计模式 缓存 Java
php设计模式-单例模式
php设计模式-单例模式
85 1
|
设计模式 缓存 JSON
没那么简单的单例模式
没那么简单的单例模式
131 0
没那么简单的单例模式
|
存储 安全 调度
单例模式的简单介绍
单例模式的简单介绍