一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

設(shè)計(jì)模式之單例模式(Singleton Pattern),太簡單了

 python_lover 2021-07-19

基本定義

單例模式就是確保某一個(gè)類只有一個(gè)實(shí)例,并且提供一個(gè)全局訪問點(diǎn)。單例模式有如下幾個(gè)特點(diǎn):

  • 它只有一個(gè)實(shí)例。
  • 它必須要自行實(shí)例化。
  • 它必須自行向整個(gè)系統(tǒng)提供訪問點(diǎn)。

代碼實(shí)現(xiàn)

餓漢式

直接初始化靜態(tài)變量。這樣就保證了線程安全。

public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton(){
}
public static Singleton getInstance(){
return singleton;
}
}

懶漢式

按需加載. 配合synchronized來處理。也就是說將getInstance()方法變成同步方法

public class LazySingleton {
private static volatile LazySingleton lazySingleton;
private LazySingleton(){
}
public static LazySingleton getInstance(){
if(lazySingleton == null){
synchronized(LazySingleton.class){
lazySingleton = new LazySingleton();
}
}
return lazySingleton;
}
}

優(yōu)點(diǎn)

節(jié)約了系統(tǒng)資源。由于系統(tǒng)中只存在一個(gè)實(shí)例對象,對與一些需要頻繁創(chuàng)建和銷毀對象的系統(tǒng)而言,單例模式無疑節(jié)約了系統(tǒng)資源和提高了系統(tǒng)的性能。
因?yàn)閱卫惙庋b了它的唯一實(shí)例,所以它可以嚴(yán)格控制客戶怎樣以及何時(shí)訪問它。
缺點(diǎn)

由于單例模式中沒有抽象層,因此單例類的擴(kuò)展有很大的困難。
JDK源碼

懶漢式

java.lang.Runtim

餓漢式

java.lang.System

???????

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品国产品国语在线不卡| 亚洲免费黄色高清在线观看| 国产av一二三区在线观看| 午夜精品成年人免费视频| 国产一区欧美一区二区| 成年人免费看国产视频| 亚洲视频在线观看免费中文字幕| 欧美欧美日韩综合一区| 91精品蜜臀一区二区三区| 亚洲欧美日本国产不卡| 神马午夜福利一区二区| 亚洲综合日韩精品欧美综合区| 国产精欧美一区二区三区久久| 欧美性高清一区二区三区视频 | 免费久久一级欧美特大黄孕妇| 国产一区二区三区丝袜不卡 | 翘臀少妇成人一区二区| 中文字幕一区二区久久综合| 日本午夜一本久久久综合| 91精品国产综合久久福利| 美国女大兵激情豪放视频播放| 成人免费观看视频免费| 久久国产精品亚州精品毛片| 亚洲女同一区二区另类| 日本高清不卡一二三区| 国产精品欧美日韩中文字幕| 日本人妻中出在线观看| 精品久久综合日本欧美| 五月天丁香婷婷一区二区| 丰满人妻一二三区av| 欧美尤物在线视频91| 又色又爽又无遮挡的视频| 亚洲一区二区精品久久av| 午夜久久久精品国产精品| 九九热精彩视频在线播放| 丰满熟女少妇一区二区三区| 精品人妻精品一区二区三区| 国产色偷丝袜麻豆亚洲| 日本丰满大奶熟女一区二区| 男人操女人下面国产剧情| 九九热视频免费在线视频|