java 单例模式
时间: 2023-06-29 18:12:00 浏览: 144
单例模式是一种常见的设计模式,它的目的是保证一个类只有一个实例,并提供一个全局访问点来访问该实例。
在 Java 中,可以通过将构造方法私有化,并在类内部创建唯一的实例,然后提供一个公共静态方法来获取这个唯一的实例来实现单例模式。
例如:
```
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
```
在这个例子中,类 `Singleton` 的构造方法是私有的,所以外部无法直接通过调用构造方法创建类的实例。而是通过调用 `getInstance` 方法来获取唯一的实例。
还有一种更常见的实现方式是使用静态内部类,代码如下:
```
public class Singleton {
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
private Singleton (){}
public static final Singleton getInstance() {
return SingletonHolder.INSTANCE;
}
}
```
这种方式可以在第一次调用 `getInstance` 方法时才创建单例对象,而不是像上面的例子那样在类加载的时候就创建了单例对象。这样可以节省资源,提高效率。
注意,在多线程环境下,如果没有进行适当的同步控
阅读全文