? ? ? 单例模式(Singleton Pattern)是设计模式中最简单且最常用的一种创建型模式,其目的是保证一个类在整个系统中只存在一个实例,并提供全局访问点来获取这个唯一实例。这种模式主要适用于那些需要频繁实例化然后又希望避免因为多次实例化而消耗过多资源或产生副作用的情况。
? ? ? 将构造函数声明为private,确保只有类自身可以调用它,外部不可以实例化对象。
public class Singleton {
private Singleton() {}
}
? ? 创建一个私有的静态变量来持有唯一的实例对象。
private static volatile Singleton instance;
? ?写一个公共的静态方法,返回已创建的单例实例。
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
上面是线程安全的懒汉式单例,另外还有饱汉式单例,初始化时就创建实例,代码如下:
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
?