/*** 方法一:餓漢式
* 優點:執行緒安全
* 缺點:效率低。
*/public class singleton
// 加static和final
private static final singleton instance = new singleton();
public static singleton getinstance()
}
/*** 方法二:懶漢式
* 優點:執行緒安全,
* 缺點:同步方法頻繁呼叫時,效率略低。
*/public class singleton
// 不加final
private static singleton instance;
// 雙重檢驗鎖
public static singleton getinstance() }}
return
instance;
}}
/*** 方法三:靜態內部類
*/public class singleton
//靜態內部類
private static class singletonholder
public static singleton getinstance()
}
總結:建議使用第三種靜態內部類的方式寫單例
Java中的幾種單例寫法
一 餓漢式非執行緒安全 public class singletondemo1 public static singletondemo1 getinstance 二 懶漢式非執行緒安全 public class singletondemo2 public static singletondemo2 ...
java單例模式的幾種寫法
private static final userservice userservice new userservice private userservice 採取預載入的方式,userservice在 classloader 載入userservice.class 已經宣告了物件 return ...
單例模式幾種寫法
1.餓漢式 public class singleton public static singleton getinstance 2.懶漢式 public class singleton 雙層檢測鎖 public static singleton getinstance return instanc...