在Java中,使用枚舉實(shí)現(xiàn)單例類(lèi)是一種簡(jiǎn)潔且線程安全的方法
public enum Singleton {
INSTANCE;
// 在這里添加你的單例類(lèi)需要的其他屬性和方法
public void doSomething() {
System.out.println("Doing something with the singleton instance.");
}
}
要使用這個(gè)單例類(lèi),只需調(diào)用其INSTANCE字段:
public class Main {
public static void main(String[] args) {
Singleton singleton = Singleton.INSTANCE;
singleton.doSomething();
}
}
這種方法的優(yōu)點(diǎn)是簡(jiǎn)潔且線程安全。Java虛擬機(jī)保證了枚舉類(lèi)型的線程安全和唯一性。當(dāng)Singleton類(lèi)被加載時(shí),JVM會(huì)自動(dòng)初始化INSTANCE字段,且僅會(huì)初始化一次。因此,這種方法既能確保單例的唯一性,又能避免多線程同步問(wèn)題。