1 單例模式之餓漢式

2021-10-14 13:29:19 字數 819 閱讀 1367

單例模式總結:

特點:構造方法私有,提供乙個全域性訪問點。

實現方式:有很多,分四篇分別總結1.餓漢式 2.懶漢式 3.註冊式 4.threadlocal

優點:記憶體中只有乙個例項,減少記憶體開銷;避免對資源多重占用;設定全域性訪問點,嚴格控制訪問。

缺點:沒有介面,擴充套件困難;如果要擴充套件單例物件,只有修改**,沒有其他途徑,不符合程式的開閉原則。

餓漢式比較簡單,下面為兩種餓漢式單例實現方式:

第一種:普通寫法

package com.going.design.singleton.hungry;

/** * created by renxf on 2021/1/2

*/public class hungrysingleton ;

public static hungrysingleton getinstance()

}

第二種:使用靜態**塊

package com.going.design.singleton.hungry;

/** * created by renxf on 2021/1/2

* des:進一步優化

*/public class hungrystaticsingleton

private hungrystaticsingleton(){};

public static hungrystaticsingleton getinstance()

}

總結:

final:防止反射破壞單例

餓漢式缺點:可能會造成記憶體空間的浪費

《餓漢式單例模式》

設計要點 1 私有建構函式 2 設定本型別的靜態變數並設為私有屬性 3 提供靜態成員函式,作為獲取單例的介面 如下 class singelton static singelton signelton public static singelton getsingelton 獲取單例介面 void ...

單例設計模式之 餓漢式

餓漢式 靜態常量 應用例項 步驟如下 構造器私有化 防止 new 類的內部建立物件 向外暴露乙個靜態的公共方法。getinstance 實現 public class singletontest01 餓漢式 靜態變數 class singleton 2.本類內部建立物件例項 private fina...

設計模式之單例餓漢式

設計模式之單例餓漢式package cn.q x.design 餓漢式 類載入到記憶體後,就例項化乙個單例,jvm保證執行緒安全 簡單實用,推薦使用!唯一缺點 不管用到與否,類裝載時就完成例項化 class.forname 話說你不用的,你裝載它幹啥 auther wangpeng date 202...