單例模式---顧名思義,就是乙個類只有乙個例項物件,只例項化一次。它有三個要點:(1)乙個類只有乙個例項(2)類本身自行建立這個例項(3)它必須自行上下向整個系統提供該例項。
**實現:
1public
class
qqsingle212
set1316}
17public
static
qqsingle getqq()
1827}28
}29return
qqsingle;30}
31 }
上述**使用了雙重鎖方式較好地解決了多執行緒下的單例模式實現。先看內層的if語句塊,使用這個語句塊時,先進行加鎖操作,保證只有乙個執行緒可以訪問該 語句塊,進而保證只建立了乙個例項。再看外層的if語句塊,這使得每個執行緒欲獲取例項時不必每次都得加鎖,因為只有例項為空時(即需要建立乙個例項),才 需加鎖建立,如果已存在乙個例項,就直接返回該例項,節省了效能開銷。
測試:
1class
program2,
",qqsingle.name,qqsingle1.name);
10console.readline();11}
12 }
輸出結果:qq,qq 這就說明了兩個例項物件其實是同乙個物件。
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...