美文网首页
java设计模式-单例模式(Singleton Pattern)

java设计模式-单例模式(Singleton Pattern)

作者: angelali_90b4 | 来源:发表于2023-12-11 12:53 被阅读0次

    单例模式(Singleton Pattern)是 Java 中最常见的设计模式之一,用于确保某个类只有一个实例,并提供全局访问点。

    实现单例模式的步骤如下:

    将构造函数私有化,防止外部代码通过构造函数创建多个实例。
    在类中定义一个静态变量来存储单例实例,通常命名为 instance。
    提供一个静态方法来获取单例实例,如果实例不存在,则先创建实例并返回。
    以下是一个简单的单例模式示例:

    public class Singleton {
        private static Singleton instance;
    
        // 将构造函数私有化,防止外部代码通过构造函数创建多个实例
        private Singleton() {
        }
    
        // 提供一个静态方法来获取单例实例,如果实例不存在,则先创建实例并返回
        public static Singleton getInstance() {
            if (instance == null) {
                instance = new Singleton();
            }
            return instance;
        }
    }
    

    在这个示例中,我们将构造函数私有化,防止外部代码通过构造函数创建多个实例。然后我们使用一个静态变量 instance 来存储单例实例,并提供一个静态方法 getInstance() 来获取单例实例。在 getInstance() 方法中,我们首先检查实例是否已经存在,如果不存在则创建一个新实例并返回。

    需要注意的是上面的实现是线程不安全的,因为可能会有多个线程同时执行到 if (instance == null) 语句,从而创建多个实例。如果要实现线程安全的单例模式,可以使用 synchronized 或者其他线程安全的机制来保证只有一个线程可以创建实例。

    相关文章

      网友评论

          本文标题:java设计模式-单例模式(Singleton Pattern)

          本文链接:https://www.haomeiwen.com/subject/jglmgdtx.html