單例模式 學習設計模式

2021-10-11 09:29:39 字數 1183 閱讀 2226

做些筆記。

引用

//單例模式

public class singleton

//餓漢 類載入的時候就載入完成

private static final singleton singleton = new singleton();

//public static singleton getsingleton()

}

//雙重校驗鎖

public class singleton2 ;

//同步機制

//volatile 禁止指令重排序

private volatile static singleton2 singleton2=null;

//雙重校驗鎖先判斷 uniqueinstance 是否已經被例項化,如果沒有被例項化,那麼才對例項化語句進行加鎖

public static singleton2 getsingleton2() }}

return singleton2;

}//對整個方法都加鎖,同時只有乙個執行緒能訪問,

// public static synchronized singleton2 getinstance()

// return singleton2;

// }

}

/**

* 靜態內部類寫法

*/public class singleton3 ;

//方問靜態內部類時 才例項化singleton3

private static class singletonholder

public static singleton3 getsingleton3()

}

/**

*列舉類singleton

*/public class enumsingleton ;

public static enumsingleton getenumsingleton()

private static enum singleton4;

public enumsingleton getsingleton()

}public static void main(string args)

}

學習設計模式 單例模式

適用於 優點 缺點 1.懶漢式 public class singleton public static synchronized singleton getinstance return uniqueinstance 2.餓漢式 public class singleton public stat...

設計模式學習 單例模式

單例模式是一種常用的軟體設計模式。通過單例模式可以保證系統中乙個類只有乙個例項而且該例項易於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。1.單例模式特點 2.單例模式作用 3.單例模式種類 a.餓漢式 b.懶漢式 c.懶漢式 ...

學習設計模式( ) 單例模式

定義 確保乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。型別 建立類模式 單例模式應該是23種設計模式中最簡單的一種模式了。它有以下幾個要素 單例模式現在主流推薦第一種雙重檢查型。以前流行的有根據例項化物件時機的不同有分為兩種 一種是餓漢式單例,一種是懶漢式單例。餓漢式單例在單例類被載...