package com.maom.design.d_05_singleton;
/** * @title: d_05_singleton
* @description: 05_單例模式
* @author maohb
* @version 1.0
*/public
class
d_05_singleton
}/** 餓漢式 */
class
person
public
void
setname
(string name)
//建構函式私有化
private
person()
//提供乙個全域性的靜態方法
public
static person getperson()
}/** 懶漢式 */
class
person2
public
void
setname
(string name)
//建構函式私有化
private
person2()
//提供乙個全域性的靜態方法
public
static person2 getperson()
return person;}}
/** 同步鎖 */
class
person3
public
void
setname
(string name)
//建構函式私有化
private
person3()
//提供乙個全域性的靜態方法,使用同步方法
public
static
synchronized person3 getperson()
return person;}}
/** 雙重檢查 */
class
person4
public
void
setname
(string name)
//建構函式私有化
private
person4()
//提供乙個全域性的靜態方法
public
static person4 getperson()
}}return person;
}}
設計模式05 單例模式
單例模式是一種物件建立型模式,使用單例模式,可以保證為乙個類只生成唯一的例項物件。也就是說,在整個程式空間中,該類只存在乙個例項物件。其實,gof對單例模式的定義是 保證乙個類 只有乙個例項存在,同時提供能對該例項加以訪問的全域性訪問方法。在應用系統開發中,我們常常有以下需求 在多個執行緒之間,比如...
設計模式05 單例模式
在程式執行期間確保某個類只有乙個物件 tip 非常餓,所以要快速建立 public class hungrysingle public static hungrysingle getinstance 優點 執行緒安全,容易實現,沒有加鎖,執行效率高 缺點 浪費記憶體,不能從外部傳入引數 tip 這裡...
設計模式筆記 單例模式
單例模式在系統開發時很常見,乙個系統中可能會有多個單例模式的運用!它比全域性變數的好處?1.能控制生成時間,保證初始化順序?2.容易保證執行緒安全 全域性變數需要多執行緒client單獨控制併發,單例在類實現中已經做到,無需client再處理 3.減少函式模組之間的耦合,減少命名衝突,便於管理?可能...