天天操天天爱天天干,久久综合久久99,日本高清视频在线播放,91视频在线免费

推廣 熱搜: 廣場  Java  app  Word  營業  微信公眾號  北京代理記賬  商城  代理記賬  商標交易 

synchronized 異常信息存在哪里 單例模式有幾種?如何優化?

   2023-05-05 企業服務招財貓190
核心提示:單例模式有幾種?如何優化?在某些系統中,為了節省內存資源和保證數據內容的一致性,對于某些類只能創建一個實例,這種模式稱為singleton模式。單體模式的定義和特征Singleton模式的定義:指一個

單例模式有幾種?如何優化?

在某些系統中,為了節省內存資源和保證數據內容的一致性,對于某些類只能創建一個實例,這種模式稱為singleton模式。

單體模式的定義和特征

Singleton模式的定義:指一個類只有一個實例,并且該類可以自己創建這個實例的模式。比如在Windows中只能打開一個任務管理器,可以避免打開多個任務管理器窗口造成的內存資源浪費,或者每個窗口顯示內容不一致。

在計算機系統中,還有Windows的回收站,操作系統中的文件系統,多線程中的線程池,顯卡的驅動對象,打印機的后臺處理服務,應用程序的日志對象,數據庫的連接池,網站的計數器,Web應用程序的配置對象,應用程序中的對話框,系統中的緩存,這些往往被設計成單一的案例。

Singleton模式在現實生活中也有廣泛應用,比如公司CEO、部門經理等。J2EE標準中的ServletContext和ServletContextConfig,Spring框架應用中的ApplicationContext和數據庫中的連接池也是singleton模式。

單例模式有三個特征:

單例類只有一個實例對象;singleton對象必須由singleton類本身創建;singleton類為訪問singleton提供了一個全局訪問點。單例模式的優點和缺點。

單例模式的優勢:

Singleton模式可以保證內存中只有一個實例,減少了內存開銷。可以避免多次占用資源。Singleton模式設置了全局訪問點,可以優化和共享對資源的訪問。單一模式和。;的缺點:

Singleton模式一般沒有接口,所以很難擴展。如果要擴展,除了修改原代碼,沒有第二條路,這違背了開放封閉原則。在并發測試中,單件模式不利于代碼調試。在調試期間,如果singleton中的代碼沒有完成,就不能模擬新的對象。單一模式和。;的功能代碼通常寫在一個類中。如果功能設計不合理,很容易違反單一責任原則。Singleton模式看起來很簡單,實現起來也很簡單。單體模式是面試中的一個高頻面試問題。希望大家好好學習,掌握獨生子女模式,提升核心競爭力,給面試加分,順利拿到Offer。

單一模式和。;的應用場景

對于Java,singleton模式可以保證在一個JVM中只有一個實例。單一模式和。;的應用場景主要包括以下幾個方面。

對于一些需要經常創建的類,使用單例可以減輕系統的內存壓力,減少GC。當一個類只需要生成一個對象時,比如一個類的班長,每個人s身份證號等。有些類在創建實例時會占用更多的資源,或者實例化需要很長時間,并且經常被使用。當一個類需要頻繁實例化,并且創建的對象被頻繁銷毀時,比如多線程線程池、網絡連接池等。頻繁訪問數據庫或文件的對象。對于一些控制硬件層面的操作,或者從系統角度看應該是單個控制邏輯的操作,如果有多個實例,系統就完全亂套了。當需要共享對象時。因為在單例模式中只能創建一個對象,所以共享這個對象可以節省內存并加快對象訪問。如Web中的配置對象、數據庫的連接池等。singleton模式的結構與實現

單一模式是最簡單的設計模式之一。通常,普通類的構造函數是公共的,外部類可以通過"新構造函數()"。但是,如果將類的構造函數設置為private,則外部類無法調用該構造函數,因此無法生成多個實例。此時,類本身必須定義一個靜態私有實例,并提供一個靜態公共函數來創建或獲取靜態私有實例。

讓分析了它的基本結構和實現方法。

1.單例模式的結構

單一模式和。;的主要角色如下。

Singleton類:包含一個實例并且可以自己創建這個實例的類。訪問類:使用單例的類。其結構如圖1所示。

圖1單例模式的結構圖。

2.單例模式的實現

單例模式通常有兩種實現形式。

第一種:懶惰的單一案例

這種模式的特點是類加載時不生成singleton,只有第一次調用getlnstance方法時才創建。代碼如下:

公共類LazySingleton{

privatestaticvolatilelazysingleton實例null//確保實例在所有線程中同步。

列兵LazySingleton(){

}//private防止類被外部實例化。

公共靜態同步LazySingletongetInstance(){

//在//getInstance方法之前同步

if(實例為空){

實例newLazySingleton()

}

返回實例

}

}

注意:如果你正在寫一個多線程程序,不要不要刪除前面代碼中的關鍵字volatile和synchronized,否則會有線程不安全的問題。如果你不t刪除這兩個關鍵字,可以保證線程安全,但是每次訪問都要同步,會影響性能,消耗更多資源。這就是懶單胞的缺點。第二種:餓漢式單例

這種模式的特點是,一旦加載了類,就會創建一個singleton,這確保了在調用getInstance方法之前該singleton已經存在。

公共類饑餓Singleton{

私有靜態最終HungrySingleton實例newHungrySingleton()

二等兵HungrySingleton(){

}

公共靜態HungrySingletongetInstance(){

返回實例

}

}

餓了么中文singleton在創建類的同時創建了一個靜態對象供系統使用,以后也不會更改,所以是線程安全的,可以直接用于多線程,沒有問題。

單例模式的應用實例

【例1】使用lazysingleton模式模擬生成美國當前總統對象。

分析:每屆美國只有一位總統,所以這個例子適合用singleton模式來實現。圖2是lazysingleton實現的結構圖。

圖2美國總統發電機結構圖

程序代碼如下:

公共類SingletonLazy{

公共靜態voidmain(String[]args){

zt1總裁()

()//輸出總統的名字。

zt2總統()

()//輸出總統的名字。

if(zt1zt2){

他們是同一個人!)

}否則{

(他們不是同一個人!)

}

}

}

班長{

私有靜態易變總統實例null//確保實例在所有線程中同步。

//private防止類被外部實例化。

私人總裁(){

(產生一個總統!)

}

公共靜態同步總統getInstance(){

//向getInstance方法添加同步。

if(實例為空){

實例新總裁()

}否則{

已經有總統了,新總統無法產生!)

}

返回實例

}

publicvoidgetName(){

(我是美國總統:特朗普。)}

}

程序運行結果如下:

產生一個總統!

我是美國總統:特朗普。

已經有總統了,新總統無法產生!

我是美國總統:特朗普。

他們是同一個人!

【例2】用餓漢風格的單體模式模擬生成豬八戒對象。

分析:和前面的例子類似,只有一個豬八戒,所以這個例子也適合用singleton模式實現,所以使用了框架形式的Jframe組件。這里的豬八戒類是一個singleton類,可以定義為panelJPanel的子類,包含了保存豬八戒圖片的標簽,客戶端表單可以獲取豬八戒對象并顯示。圖3是餓了么漢單例實現的結構圖。

圖3豬八戒發電機結構圖

程序代碼如下:

導入*

導入javax.swing.*

公共類單身者{

公共靜態voidmain(String[]args){

Jframejf新Jframe(饑餓單例模式測試)

(新網格布局(1,2))

容器內容窗格()

八戒obj1()

(obj1)

八戒obj2()

(obj2)

if(obj1obj2){

他們是同一個人!)

}否則{

(他們不是同一個人!)

}

()

(正確)

(Jframe。出口_開_關)

}

}

Bajie類擴展JPanel{

私有靜態Bajie實例newBajie()

大兵八戒(){

JLabell1新JLabel(新圖像圖標())

(l1)

}

公共靜態BajiegetInstance(){

返回實例

}

}

程序的運行結果如圖4所示。

圖4豬八戒發電機運行結果

單例模式的擴展

Singleton模式可以擴展為有限的multi-TCM模式,可以生成有限數量的實例并保存在ArrayList中,客戶需要時可以隨機獲取。其結構圖如圖5所示。

圖5有限多實例模式的結構圖

Spring如何解決循環依賴的問題?

你的問題太大了,很難解釋清楚。簡單來說,Spring執行InstantiateBean中的構造器方法來構造一個實例。如果它是單例的,它將將其放入singletonBeanFactory的緩存中,然后執行populateBean方法來設置屬性。循環依賴的問題通過singletonBeanFactory的緩存來解決。推薦你看看這個鏈接。作者講得非常仔細清晰。

 
反對 0舉報 0 收藏 0 打賞 0評論 0
 
更多>同類資訊
推薦圖文
推薦資訊
點擊排行
合作伙伴
網站首頁  |  關于我們  |  聯系方式  |  使用協議  |  版權隱私  |  網站地圖  |  排名推廣  |  廣告服務  |  積分換禮  |  網站留言  |  RSS訂閱  |  違規舉報  |  冀ICP備2023006999號-8
 
国产乱色国产精品免费视频| 亚洲欧美日韩不卡| 亚洲午夜久久久久久久久红桃| 一二三在线视频社区| 国产精品久久久久影院| 一本一道久久久a久久久精品91| 精品麻豆国产| 99精品视频免费观看视频| 色综合五月天导航| 波多野结衣毛片| 免费看成人哺乳视频网站| 美女精品视频一区| 在线黄色av网站| 亚洲精品亚洲人成在线| 亚洲欧美国产日韩中文字幕| 一级黄色性视频| 日日夜夜亚洲| 中文字幕亚洲一区在线观看 | 视频一区免费观看| 亚州国产精品视频| 精品国精品国产自在久国产应用| 538国产精品一区二区在线| 男人天堂综合网| 美女精品在线观看| 九九视频直播综合网| 97人妻精品一区二区三区软件| 亚洲色图视频网| 熟女人妻一区二区三区免费看| juliaann成人作品在线看| bt7086福利一区国产| 裸模一区二区三区免费| 可以在线观看的黄色| 91精品蜜臀在线一区尤物| 久草国产在线视频| 国产精品综合一区二区| av综合网站| 精品福利电影| 91视频观看| 婷婷综合久久一区二区三区| 国产黄色录像视频| 97精品国产| 国产精品嫩草影院8vv8| 久操国产精品| 成人性生生活性生交12| 欧美jizz19性欧美| 国产精品成人免费视频| 欧美熟妇另类久久久久久不卡| 亚洲激情久久| 国产精品欧美激情在线观看| 亚洲男人资源| 欧美日韩在线一二三| 91精品99| 激情综合网五月婷婷| 欧美自拍偷拍一区| 91精彩视频| 亚洲美女喷白浆| 成全视频全集| 欧美美女操人视频| 99热com| 欧美色老头old∨ideo| 青娱乐国产视频| 欧美电影在线观看免费| 波多野结衣电影免费观看| 狠狠色丁香婷婷综合| 国产精品高潮呻吟av| 91九色最新地址| 免费观看的成年网址| 日韩欧美一级二级| 爱爱网站免费| 亚洲国产精品悠悠久久琪琪| 亚洲第一页在线播放| 亚洲国产高清一区| 91久热免费在线视频| 韩日精品一区| 91日韩精品视频| 欧美视频成人| 九一免费在线观看| 日韩成人精品在线观看| 亚洲自拍偷拍一区二区| 免费的成人av| 久久久午夜影院| 色婷婷精品久久二区二区蜜臂av| 免费看成年人视频| 国产精品999| 美女扒开腿让男人桶爽久久动漫| 美女露出粉嫩尿囗让男人桶| 成人午夜精品在线| 日本电影中文字幕| 91国语精品自产拍在线观看性色 | 亚洲欧美日韩中文字幕一区二区三区 | 国内精品卡一卡二卡三新区| 色偷偷88欧美精品久久久| www.xxx.国产| 亚洲综合丝袜美腿| 国产一级片播放| 国产色婷婷亚洲99精品小说| 日本肉体xxxx裸体xxx免费| 玖玖精品国产| 国产调教精品| 超碰在线成人| 午夜激情久久| 亚洲欧美日韩久久| 7777kkkk成人观看| 丝袜+亚洲+另类+欧美+变态| 欧美国产综合视频| 久久国产直播| 人妻偷人精品一区二区三区| 97成人精品视频在线观看| 日韩最新在线| 曰批又黄又爽免费视频| 孩xxxx性bbbb欧美| 国产aⅴ精品一区二区三区久久| 久久国产精品波多野结衣av| 国产成人亚洲综合a∨猫咪| 久草免费福利视频| 99久久久精品免费观看国产| 香蕉国产精品偷在线观看不卡| 国内毛片毛片毛片毛片| 日本一本a高清免费不卡| 91精品国产福利在线观看麻豆| 成人午夜免费在线观看| 久久精品视频在线观看| 亚洲精品88| 中文字幕av久久爽av| 视频一区视频二区国产精品| 久久精品影视| 四虎在线看片| 亚洲欧美一区二区原创| 肉色丝袜一区二区| h网站在线观看| 缅甸午夜性猛交xxxx| 亚洲一区视频在线| 黄毛片在线观看| 久久久无码一区二区三区| 欧美成人精品在线| 久久久国产精品一区二区中文| 91美女视频| 国产精品白丝jk白祙| 国产精品欧美一区喷水| 久久黄色美女电影| 日本污视频网站| 亚洲国产成人精品视频| 国产www视频在线观看| 麻豆视频在线观看| 国产精品专区一| 久久噜噜亚洲综合| 国产精品186在线观看在线播放| 国产va在线播放| 成人免费淫片aa视频免费| 国产欧美视频一区二区| 成av人片在线观看www| 中文天堂在线视频| 国产精品一二区| 国产婷婷色一区二区三区| 春色校园综合激情亚洲| 成人av免费播放| 91日本视频在线| 26uuu色噜噜精品一区二区| 色综合桃花网| 精品人妻无码一区二区色欲产成人 | 日韩在线观看一区| eeuss影影院www在线播放| 涩视频在线观看| 欧美自拍视频在线| 亚洲欧美综合在线精品| 亚洲一二三区视频| 成人18网站| 99热99这里只有精品| 动漫3d精品一区二区三区 | 欧美日韩一卡二卡三卡| 欧美激情性爽国产精品17p| 超碰在线公开超碰在线| 国产成人精品片| 在线视频91| xxx成人少妇69| 国产成人午夜精品影院观看视频 | 日本超碰在线观看| 久久乐国产精品| 亚洲国产精品久久人人爱蜜臀| 亚洲人成久久| 国产探花在线观看| 久久精品国产亚洲777| 萌白酱视频在线| 一区二区三区精品国产| 久久亚洲精品一区| 欧美va亚洲va| 欧美日韩性视频在线| 国产色产综合产在线视频| 国产精品一区二区久久精品爱涩| 日韩欧美高清| 亚洲免费专区| 久久亚州av| 久久gogo国模啪啪裸体| 在线视频三区| 2017亚洲天堂1024| 超碰在线94| 第四色亚洲色图| 午夜娱乐在线| 丝瓜app色版网站观看| 欧美黑人乱大交|