java编程进阶 singleton pattern
时间: 2023-10-10 12:13:22 浏览: 95
java Singleton单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式。它可以保证在一个进程中,某个类的实例只有一个。这种模式下,该类会提供一个访问它的全局访问点,以便于其他代码可以使用该实例,而不需要自己创建新的实例。
在 Java 中,单例模式的实现有多种方式,下面是一种常见的实现方式,使用了懒汉式的单例模式:
```
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
在上述代码中,我们定义了一个 Singleton 类,并在其中定义了一个 getInstance() 方法,该方法返回类的实例。
在 getInstance() 方法中,我们使用了一个静态变量 instance 来保存类的唯一实例。如果该变量为 null,则说明还没有创建实例,我们就创建一个新的实例并将其赋值给 instance 变量。如果变量已经有了值,我们就直接返回该变量即可。
需要注意的是,上述代码的实现方式是线程不安全的。如果在多线程环境下同时调用 getInstance() 方法,可能会导致创建多个实例。为了解决这个问题,我们可以在 getInstance() 方法前加上 synchronized 关键字,或者使用饿汉式的单例模式实现。
阅读全文