Java單例設計模式的兩種實現方式

2021-08-11 06:50:44 字數 1163 閱讀 8308

package single;

/** * 單例設計模式:餓漢式

* *@author administrator

* */

public

class

single

/*** 返回建立的例項物件

* *@return 例項物件

*/public

static single getinstance()

}

package single;

/** * 單例設計模式:懶漢式

* *@author administrator

* */

public

class

single

/*** 返回建立的例項物件

* 如果多個執行緒同時進來,並且同時卡到a點

* 那麼就不會達到單例,因此需要加synchronized

* *@return 建立的例項物件

*/public

static

synchronized single getinstance()

return single;

}}

package single;

/** * 單例設計模式:懶漢式

* *@author administrator

* */

public

class

single

/*** 返回建立的例項物件

* 執行緒a拿到鎖,到達c點 sleep了

* 執行緒b進來了到達a點,有鎖,進不去,

* 執行緒a醒來之後,建立例項,返回

* 執行緒c到達d點判斷,進不去,直接返回

* 執行緒d到達d點判斷,進不去,直接返回

* 。。。。

* *

* 這樣就減少了判斷鎖的次數

* * 鎖:因為程式都是靜態實現,在呼叫方法的時候並沒有this

* 因此使用當前檔案的.class檔案

* *@return 例項物件

*/public

static single getinstance()}}

return single;

}}

單例模式(java兩種方式實現)

測試類 public class singletontest1 單例類 class singleton 構造方法私有帶來乙個問題,就是不能產生例項了,所以通過寫乙個方法返回乙個例項 第二步 public static singleton getinstance 必須為static 這樣在main中才...

兩種單例設計模式

設計模式是在大量的實踐中總結和理論化之後優選的 結構 程式設計風格 以及解決問題的思考方式。設計模式就像是經典的棋譜,不同的棋局,我們用不同的棋譜,免去我們自己再思考和摸索。所謂類的單例設計模式,就是採取一定的方法保證在整個的軟體系統中,對某個類只能存在乙個物件例項,並且該類只提供乙個取得其物件例項...

java中單例設計模式的兩種實現方式

public class singletondemo 餓漢式單例模式 餓漢式要先宣告物件,然後構造方法私有,返回乙個對外可以訪問的靜態方法 author administrator class singleton1 public static singleton1 getinstence publi...