在Java中,單例指的是一個類只能創建一個實例對象的設計模式。這意味著當一個類的實例已經存在時,再次創建該類的實例時,將返回已存在的實例對象。單例模式通常用于需要全局訪問點、資源共享、控制實例數量等場景。
實現單例模式可以通過以下幾種方式:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
public class Singleton {
private Singleton() {}
private static class SingletonHolder {
private static final Singleton instance = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.instance;
}
}
以上是常用的三種實現單例模式的方式,根據具體的需求和場景選擇適合的方式。