標籤:單例模式 單例類 對象 turn java -- 同步 log 否則
懶漢式public class Singleton{ //@單例類只能有一個執行個體 //@單例類必須自行建立這個執行個體 //@單例類必須給所有對象提供這一個執行個體//必須向整個系統提供這個這個執行個體 private static Singleton uniqueInstance = null; private Singleton(){ System.out.println("懶漢式單例---"); } public static Singleton getInstance(){ if(uniqueInstance == null){ uniqueInstance = new Singleton(); } return uniqueInstance; }}懶漢式(同步否則有危險)public class Singleton{ //@單例類只能有一個執行個體 //@單例類必須自行建立這個執行個體 //@單例類必須給所有對象提供這一個執行個體//必須向整個系統提供這個這個執行個體 private static Singleton uniqueInstance = null; private Singleton(){ System.out.println("懶漢式單例---"); } public static synchronized Singleton getInstance(){ if(uniqueInstance == null){ uniqueInstance = new Singleton(); } return uniqueInstance; }}餓漢式public class Singleton { private Singleton() { System.out.println("餓漢式單例---"); } private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return instance; }}驗證: Singleton st1 = Singleton.getInstance(); Singleton st2 = Singleton.getInstance(); System.out.println(st1==st2);結果:true
java 單例模式