亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

設計模式之單例模式(Singleton)

2019-11-14 08:58:54
字體:
來源:轉載
供稿:網友

From:http://mp.weixin.QQ.com/s/RUUBn_VBmkPE8oE20IBleg 單例模式(Singleton Pattern):

1.定義: 確保某一個類只有一個實例,而且自動實例化并向整個系統提供這個實例

2.優點: 1、在內存中只有一個實例,所以減少了內存開銷,特別是在一個對象需要頻繁地創建、銷毀時,而且創建或銷毀時性能又無法優化。單例模式的優勢非常明顯; 2、避免對資源的多重占用。例如寫文件動作,由于只有個實例存在內存中,避免對同一個資源文件的同時寫操作 3、提供了對唯一實例的受控訪問。 4、允許可變數目的實例。

3.缺點: 1、沒有接口,擴展困難。 2、不適用于變化的對象,如果同一類型的對象總是要在不同的用例場景發生變化,單例就會引起數據的錯誤,不能保存彼此的狀態。 3、濫用單例將帶來一些負面問題,如為了節省資源將數據庫連接池對象設計為的單例類,可能會導致共享連接池對象的程序過多而出現連接池溢出;如果實例化的對象長時間不被利用,系統會認為是垃圾而被回收,這將導致對象狀態的丟失。 4、單例類的職責過重,在一定程度上違背了“單一職責原則”。

4.適用場景: 1、資源共享的情況下,避免由于資源操作時導致的性能或損耗等。如上述中的日志文件,應用配置。 2、控制資源的情況下,方便資源之間的互相通信。如線程池等。 3、需要定義大量的靜態常量和靜態方法(如工具類)的環境,可以采用單例模式

5.UML圖 這里寫圖片描述

6.單例模式的幾種書寫方式:

1/ 餓漢式單例:單例實例在類裝載時就構建 特點:線程安全 在類加載的同時已經創建好一個靜態對象,調用時反應速度快

public class SingleTonPattern(){ PRivate static SingletonPattern singleton=new SingletonPattern(); private SingletonPattern(){} //通過該方法獲取實例 public static SingletonPattern GetSingleton() { return singleton; }}

2/ 懶漢式單例:單例實例在第一次被使用時構建,延遲初始化 特點: 避免了餓漢式的那種在沒有用到的情況下創建事例,資源利用率高,不執行getInstance()就不會被實例,可以執行該類的其他靜態方法。但是多個線程判斷instance都為null時,在執行new操作時多線程會出現重復情況

public class SingletonPattern(){ private static SingletonPattern singleton=null; private SingletonPattern(){} //通過該方法獲得實例對象 public static SingletonPattern GetSingleton() { if(singleton==null) { //多個線程判斷instance都為null時,在執行new操作時多線程會出現重復情況 singleton=new SingletonPattern(); } return singleton; }}

3/ 雙重檢測單例: 特點: 資源利用率高,不執行getInstance()就不被實例,可以執行該類其他靜態方法 但是第一次加載時反應不快

public class SingletonPattern(){ private static SingletonPattern singleton=null; private SingletonPattern(){} //通過該方法獲得實例對象 public static SingletonPattern GetSingleton() { if(singleton==null) { //使用synchronized關鍵字,防止多個線程判斷instance都為null時,在執行new操作時多線程會出現重復情況 synchronized(SingletonPattern.class) { if(instance==null) { instance=new SingletonPattern(); } } } return singleton; }}

4/ 靜態內部類模式:

public class SingletonPattern(){ private SingletonPattern(){} //通過該方法獲得實例對象 public static class SingletonHelp() { static SingletonPattern singleton=new SingletonPattern(); } //通過該方法獲得實例對象 public static SingletonPattern GetSingleton() { return singleton; }}
上一篇:C#知識整理筆記

下一篇:c++程序的運行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品美女在线观看播放| 国产精品视频自在线| 亚洲国产精品高清久久久| 亚洲天堂视频在线观看| 欧美一区二区大胆人体摄影专业网站| 91超碰caoporn97人人| 日韩在线观看电影| 91久久在线播放| 久久伊人色综合| 日韩久久精品成人| 久久亚洲精品视频| 国产精品免费视频xxxx| 久久久999国产精品| 久久久999精品免费| 日韩经典中文字幕| 美乳少妇欧美精品| 91午夜理伦私人影院| 国产精品久久久久久亚洲影视| 亚洲福利视频免费观看| 欧美日韩国产页| 国产精品人成电影在线观看| 奇米成人av国产一区二区三区| 成人在线视频网站| 一区二区三区久久精品| 国语自产精品视频在线看一大j8| 91视频国产一区| 亚洲色在线视频| 久久99热精品这里久久精品| 精品国产自在精品国产浪潮| 中文字幕亚洲专区| 亚洲精品国产精品乱码不99按摩| 91av视频导航| 精品少妇v888av| 另类专区欧美制服同性| 国产精品视频专区| 日韩精品极品在线观看播放免费视频| 日韩亚洲精品视频| 91免费看片网站| 精品亚洲精品福利线在观看| 欧美黑人性猛交| 久久久久久欧美| 欧美精品国产精品日韩精品| 亚洲影院高清在线| 国产日韩在线一区| 亚洲一区二区三区成人在线视频精品| 久久精品视频在线观看| 亚洲国产天堂久久综合网| 亚洲男人天堂九九视频| 在线精品国产成人综合| 欧美中文字幕在线观看| 欧日韩在线观看| 欧美精品手机在线| 国产视频综合在线| 欧美激情网友自拍| 欧美巨猛xxxx猛交黑人97人| 久久国内精品一国内精品| 亚洲精品美女久久久久| 国产亚洲欧美日韩精品| 亚洲国产精品久久久| 国产成人av在线| 亚洲天堂免费视频| 日韩美女在线观看| 亚洲欧美国产一区二区三区| 91成人天堂久久成人| 亚洲精品欧美日韩| 亚洲成人av中文字幕| 91牛牛免费视频| 免费成人高清视频| 日韩中文有码在线视频| 日本高清久久天堂| 亚洲天堂av电影| 欧美日韩中文字幕日韩欧美| 日韩一区av在线| 51ⅴ精品国产91久久久久久| www.99久久热国产日韩欧美.com| 国产精品高潮呻吟久久av黑人| 韩国日本不卡在线| 成人国产在线激情| 亚洲国产婷婷香蕉久久久久久| 日韩在线观看免费av| 91精品国产91久久久久久吃药| 国产日韩精品入口| 在线观看不卡av| 欧美一区二区色| 亚洲美女免费精品视频在线观看| 国产美女高潮久久白浆| 亚洲xxxx在线| 欧美国产日韩一区二区三区| 国产一区二区三区欧美| 亚洲人成电影网站色xx| 欧美午夜www高清视频| 少妇高潮久久久久久潘金莲| 国产精品手机播放| 欧美激情国产日韩精品一区18| 91精品国产综合久久香蕉922| 成人黄色免费网站在线观看| 日韩电视剧在线观看免费网站| 亚洲人成在线观看网站高清| 91免费看片网站| 91高清在线免费观看| 色综合久久久888| 91精品在线一区| 国产精品久久久久久久久久小说| 久久99精品久久久久久琪琪| 亚洲iv一区二区三区| 久久99久久亚洲国产| 亚洲人a成www在线影院| 午夜精品福利电影| 精品久久久久久亚洲国产300| 午夜精品久久久久久久男人的天堂| 国产日韩精品一区二区| 亚洲精品福利在线| 国产午夜精品久久久| 国产亚洲成精品久久| 日韩免费精品视频| 91av在线精品| 欧美在线影院在线视频| 亚洲人成电影网站色www| 久久久久国产精品免费网站| 最近2019中文字幕第三页视频| 欧美专区日韩视频| 亚洲精品国产福利| 欧美色视频日本高清在线观看| 亚洲国产成人久久综合| 亚洲国产精品va| 亚洲精品在线观看www| 亚洲精品欧美日韩专区| 成人久久一区二区| 欧美日韩国产页| 欧美理论在线观看| 国产精品无av码在线观看| 久久99国产精品久久久久久久久| 成人欧美一区二区三区在线湿哒哒| 亚洲第一中文字幕| 韩国三级日本三级少妇99| 欧美性猛交xxxx黑人| 欧美成人精品一区| 国产欧美日韩高清| 日本sm极度另类视频| 欧美老女人在线视频| 992tv成人免费视频| 2018国产精品视频| 国模gogo一区二区大胆私拍| 久久久噜噜噜久久中文字免| 国产精品成av人在线视午夜片| 社区色欧美激情 | 亚洲成色999久久网站| 亚洲亚裔videos黑人hd| 国产精品自拍小视频| 国产一区二区黑人欧美xxxx| 国产91精品久久久| 国产三级精品网站| 国产精品入口免费视| 久久久国产精品免费| 欧美影院久久久| 精品视频久久久久久| 久久久久久av| 国模叶桐国产精品一区| 亚洲xxx自由成熟| 亚洲另类欧美自拍| 欧美日韩xxx| 92看片淫黄大片欧美看国产片| 亚洲伊人久久大香线蕉av| 久久99精品久久久久久青青91|