国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java 中單例模式餓漢式與懶漢式的對比

java 中單例模式餓漢式與懶漢式的對比

2020-12-16 13:37aboy123 Java教程

這篇文章主要介紹了java 中單例模式餓漢式與懶漢式的對比的相關(guān)資料,這里對這兩種單例模式進行對比,希望大家能理解并應(yīng)用,需要的朋友可以參考下

java單例模式餓漢式與懶漢式的對比

概念:

保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。

以前我們的做法是設(shè)置一個全局變量,也就是讓它使得一個對象被訪問。但是它不能防止你實例多個對象。這時我們可以讓類自身負責保存它的唯一實例,這個類可以保證沒有其他實例可以被創(chuàng)建,并且提供一個訪問該實例的方法。

通過上面的描述,我們可以看到單例模式有以下特點:

  1、單例類只能有一個實例。
  2、單例類必須自己自己創(chuàng)建自己的唯一實例。
  3、單例類必須給所有其他對象提供這一實例。

因此,創(chuàng)建一個類的實例的具體方法(要素)是:

      1、 私有的、靜態(tài)的成員變量
      2、 私有的構(gòu)造方法
      3、 公共的、靜態(tài)的一個入口方法

根據(jù)上面的具體方法,我們來看一下下面的代碼

?
1
2
3
4
5
6
7
8
9
10
11
public class Test {
  private static Test instance = new Test (); 
   
  private Test (){
   
  }
   
  public static Test GetInstance(){
    return instance;
  }
}

從上面的代碼中我們看出,當類加載到內(nèi)存時,在我們調(diào)用GetInstance()方法之前,就已經(jīng)在內(nèi)存中創(chuàng)建了一個instance對象。也就是說,不管我是否想用這個方法,在內(nèi)存中就已經(jīng)存在instance這個對象了,此時這個對象就是多余對象了,這樣就會占用內(nèi)存資源。因此我們將這種單例模式稱作“餓漢式”單例模式。其實就是一個“預(yù)加載”的過程。

而“懶漢式”單例模式(也就是“延遲式”創(chuàng)建對象)則是在我們需要的時候才去創(chuàng)建這個對象。這樣就避免了提前創(chuàng)建對象占用內(nèi)存資源。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Test {
  private static Test instance = null;
   
  private Test (){
     
  }
  public static Test getInstance(){
    if (instance == null) then {
      instance = new Test ();
    }
    return instance;
  }
}

但是,通過觀察上面的代碼,我們可以看出其中還是存在一些問題的。假設(shè),有多個進程同時調(diào)用getInstance()方法,這樣就可能出現(xiàn)同時創(chuàng)建多個對象,那這就不是單例模式了。因此,我們可以加入“同步”這個關(guān)鍵字使得我們的代碼更加的嚴謹。改進之后是這樣的

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Test {
  private static Test instance = null;
   
  private Test (){
     
  }
  public static synchronized Test getInstance(){
    if (instance == null) then {
      instance = new Test ();
    }
    return instance;
  }
}

 以上就是java中兩種單例模式的對比,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/aboy123/article/details/8778717

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产视频一二三区 | 国产精品久久久久国产a级 国产免费久久 | 美足av| 免费看国产片在线观看 | 久久婷婷av | www.亚洲| 久久久久久久久久久久久av | 亚洲免费色| av在线免费网址 | 久久成人国产精品 | 蜜桃视频网站入口 | 97久久超碰 | 国产在线一区二区 | 蜜臀网| 日韩欧美一级片 | 在线日韩中文字幕 | 亚洲福利在线观看 | 久久久91| 免费成人av| 黄视频在线观看免费 | 国产精品久久久久aaaa | 九九福利| 日韩成人免费中文字幕 | 亚洲一区二区三区在线免费观看 | 日韩成人在线一区二区 | 91久久精品国产亚洲a∨麻豆 | 日韩成人免费在线 | 精品不卡 | 欧美视频一区 | 97色在线视频 | 精品视频在线观看 | 国产精品日韩欧美一区二区三区 | 国产一级片 | 久在线草 | 国产精品美女久久久久久免费 | 欧美色综合天天久久综合精品 | 免费在线黄色电影 | 香蕉久久夜色精品国产使用方法 | 亚洲乱码国产乱码精品精98午夜 | 18毛片 | 久久精品日产第一区二区三区 |