設計模式之單例模式

2021-12-30 04:48:47 字數 1415 閱讀 9027

最近把設計模式看完了,之前已經把uml的內容寫了一點,夠看類圖的水平,現在分別記錄下各個設計模式。

設計模式的定義

保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點(好吧,我無恥的百度百科了...)

單例模式分為懶漢式和餓漢式,餓漢式這種相對簡單,就先來說說這種

餓漢式單例模式

// 普通方法

懶漢式單例模式

public class singleton

public static synchronized singleton getinstance()

system.out.println("獲取例項 非第一次");

當然這裡利用了對方法的同步,雖然避免了執行緒安全的問題,但是犧牲了效率,如果這個類非常常用,那很顯然對系統的吞吐影響很大。對應的懶漢式也有幾種其餘的實現方式

其一:雙重加鎖

public static singleton getinsantace1() }}

return singleton;

}其中signleton需要用volatile修飾,這種方式很顯然,**的觀賞性和可讀性還是蠻差的,據說在jdk1.5之前也是有問題的。

其二:靜態內部類

private static singleton singleton = null;

private singleton()

public static singleton getinstance2()

private static class singletonhodler

單例大概就是這個樣子,這裡說的不細,全當自己的筆記,推薦研磨設計模式這本書,在設計模式當中還是不錯的,當然部落格園也有很多大神的部落格可以參考。

設計模式之單例模式

前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會23種設計模式並且會熟練運用的人,真的就是大師級的牛人了,設計模式是乙個專案主管或者架構師一定要會的東西...

設計模式之單例模式

package com.xie.singleton public class singleton 提供乙個共有的靜態的入口方法 public static singleton getinstance 懶漢式 延遲載入 提供乙個私有的靜態的成員變數,但不做初始化 private static sing...

設計模式之 單例模式

單例模式 singleton 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。單例模式 單件模式 使用方法返回唯一的例項 public class singleton private static singleton instance public static singleton geti...