单例模式是一种创建型设计模式,它能够确保一个类只有一个实例,并提供一个全局访问点。

在Java中,有多种实现单例模式的方法,以下是其中两种常见的方式:

  1. 饿汉式单例模式:
public class Singleton {
    // 在类加载时就创建实例
    private static Singleton instance = new Singleton();

    // 私有构造函数,防止类被实例化
    private Singleton() {}

    // 公有静态方法,提供全局访问点
    public static Singleton getInstance() {
        return instance;
    }
}

在饿汉式单例模式中,实例在类加载时就被创建,因此在多线程环境下也能保证只有一个实例。

  1. 懒汉式单例模式:
public class Singleton {
    private static Singleton instance;

    private Singleton() {}

    // 使用双重检查锁定来确保线程安全
    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

在懒汉式单例模式中,实例在第一次使用时才被创建,在多线程环境下也能保证只有一个实例。这里使用了双重检查锁定来确保线程安全。

以上是两种常见的单例模式实现方式,根据具体需求选择适合的方式

Java中的单例模式

原文地址: https://www.cveoy.top/t/topic/hKTD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录