設計模式的概念
設計模式其實就是一套被反覆使用的,很多人都知曉的對**的設計的一種總結,一種思想,提高了程式設計師的開發效率
單例模式
①定義:在整個程式開發過程中,產生的物件有且僅有乙個
②分類:餓漢式和懶漢式
③餓漢式:特點:在類載入的時候,比較慢,因為它需要建立物件,而在執行時,是比較快的,因為物件已經建立完畢,只是需要呼叫而已,它建立的單例物件是執行緒安全的。
**和測試如下:
public
class singleton
//根據封裝性,將物件屬性訪問許可權修飾為私有的,在類載入的時候就建立好了乙個物件,整個工程就這乙個物件
private
static singleton singletoninstance = new singleton();
//提供乙個對外開放的方法來獲取物件
④懶漢式:特點:類載入時比較快,因為它只是在類載入的時候,宣告了物件的引用,而在執行時的時候,比較慢,因為在執行時,程式需要建立乙個物件,所以執行的才慢點,但是原始的懶漢式單例模式是執行緒不安全的,如果要解決執行緒不安全問題,就需要給其加鎖
原始的懶漢式**和測試如下:
public
class singleton
//在類載入的時候不建立物件,在執行時需要該物件的時候在建立
private
static singleton singletoninstance = null;
//提供乙個對外開放的方法來獲取物件
下面展示懶漢式執行緒不安全的問題,及一種簡單的解決方法
解決方法加了乙個synchronized鎖
「` public class singleton
//在類載入的時候不建立物件,在執行時需要該物件的時候在建立
private static singleton singletoninstance = null;
//提供乙個對外開放的方法來獲取物件
問題解決了,通常在專案開發過程中,由於**比較多,鎖的方式影響效率,大多採用的是餓漢式單例模式
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...