2023-03-28

2023-03-27  本文已影响0人  王小凡wxf

在Java语言中,单例模式是最常用的设计模式之一。它主要用于保证一个类只有一个实例,并提供了一个全局访问点来访问该实例。

以下是使用Java实现单例模式的示例代码:

```

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;

    }

    // 第二种实现方式:使用静态内部类

    private static class SingletonHolder {

        private static final Singleton INSTANCE = new Singleton();

    }

    public static Singleton getInstance() {

        return SingletonHolder.INSTANCE;

    }

}

```

第一种实现方式使用了双重校验锁,这是一种常用的线程安全的单例模式实现方法,可以保证在多线程环境下仍然能够正确地实现单例模式。

第二种实现方式则通过静态内部类的方式实现单例模式,这种方式更加简单,而且能够在类加载的时候就完成实例化,避免了多线程环境下的竞争问题。}

Process finished with exit code 0

上一篇 下一篇

猜你喜欢

热点阅读