在Java中,單例指的是一個類只能創(chuàng)建一個實(shí)例對象的設(shè)計(jì)模式。這意味著當(dāng)一個類的實(shí)例已經(jīng)存在時,再次創(chuàng)建該類的實(shí)例時,將返回已存在的實(shí)例對象。單例模式通常用于需要全局訪問點(diǎn)、資源共享、控制實(shí)例數(shù)量等場景。
實(shí)現(xiàn)單例模式可以通過以下幾種方式:
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;
}
}
以上是常用的三種實(shí)現(xiàn)單例模式的方式,根據(jù)具體的需求和場景選擇適合的方式。