單例就是該類只能返回乙個例項。
單例所具備的特點:
1.私有化的建構函式
2.私有的靜態的全域性變數
3.公有的靜態的方法
單例分為懶漢式、餓漢式和雙層鎖式
單例分為懶漢式、餓漢式和雙層鎖式
餓漢式:
public class singleton1 ;
private static singleton1 single = new singleton1();
public static singleton1 getinstance()
private static singleton2 single=null;
public tatic singleton2 getinstance()
private static singleton3 single ;
public static singleton3 getinstance() {
if(null == single){
synchronized(single ){
if(null == single){
single = new singleton3();
return single;
通過雙重判斷來保證單列設計模式在多執行緒中的安全性,
並且它在效能方面提高了很多。
synchronized在方法上加鎖 (同步鎖)
synchronized在**塊內部加鎖 (同步**塊)
synchronized(同步鎖)
使用synchronized如何解決執行緒安全的問題?
1.synchronized在方法上加鎖
2.synchronized在**塊內部加鎖
餓漢模式和懶漢模式
package pattern.singleton 餓漢式單例類.在類初始化時,已經自行例項化 public class singleton1 已經自行例項化 private static final singleton1 single new singleton1 靜態工廠方法 public st...
懶漢模式和餓漢模式
1.懶漢模式 在類載入的時候不被初始化,懶漢模式是延遲載入,在需要的時候才建立物件。public class jdbcutil public static jdbcutil getinstance return jdbcutil 2.餓漢模式 在類載入的時候完成了初始化,但是載入比較慢,獲取物件比較...
單列模式,懶漢 ,餓漢
設計模式之 單例 1 什麼是單例 就字面理解即可 乙個專案只有乙個例項物件 模式 最常見的兩種 懶漢和餓漢 區別1就在於例項化物件的時機不同 區別2 關於執行緒安全問題 public class singinstancedemo t1,t2,t3 public synchronized singin...