單例模式:乙個類只保留乙個例項,通過私有化構造器,然後在本類中建立乙個公共的靜態的獲取例項的方法,外部就可以通過類名.方法的形式獲得該類的例項;當多執行緒情況下,執行緒獲得時間片短路,容易建立多個例項,所以採用乙個鎖機制解決。
public
class
singleton
public
static
singleton getinstance()
}
publicclass
singleton
public
static
singleton getinstance()
return
instance;
} }
為了應對多執行緒問題;採取乙個加鎖解決,把門關上,但是每次呼叫方法都會經過鎖,會影響效能,所以在外面再加乙個判斷。
synchronized同步塊括號中的鎖定物件是採用的乙個無關的object類例項,而不是採用this,因為getinstance是乙個靜態方法,在它內部不能使用未靜態的或者未例項的類物件,
publicclass
singleton
public
static
singleton getinstance()
} }
return
instance;
} }
設計模式之單例模式
前一段時間買了一本秦小波寫的 設計模式之禪 網上對這書的評價很高。現在還沒有看很多,但是有些地方頗有感觸,也並不是所有的地方都能看懂,但是會慢慢研究的。自己對於設計模式的感覺就是乙個字 牛!感覺會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...