在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