欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

深入淺析Java設(shè)計模式中的單例模式-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗的網(wǎng)站設(shè)計師、開發(fā)人員和項目經(jīng)理組成的專業(yè)建站團隊,負責網(wǎng)站視覺設(shè)計、用戶體驗優(yōu)化、交互設(shè)計和前端開發(fā)等方面的工作,以確保網(wǎng)站外觀精美、成都網(wǎng)站建設(shè)、成都做網(wǎng)站易于使用并且具有良好的響應(yīng)性。

這篇文章給大家介紹深入淺析Java設(shè)計模式中的單例模式,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

單例模式是非常常見的設(shè)計模式,其含義也很簡單,一個類給外部提供一個唯一的實例。下文所有的代碼均在github

源碼整個項目不僅僅有設(shè)計模式,還有其他JavaSE知識點,歡迎Star,F(xiàn)ork

單例模式的UML圖

深入淺析Java設(shè)計模式中的單例模式

單例模式的關(guān)鍵點

通過上面的UML圖,我們可以看出單例模式的特點如下:

1、構(gòu)造器是私有的,不允許外部的類調(diào)用構(gòu)造器
2、提供一個供外部訪問的方法,該方法返回單例類的實例

如何實現(xiàn)單例模式

上面已經(jīng)給出了單例模式的關(guān)鍵點,我們的實現(xiàn)只需要滿足上面2點即可。但是正因為單例模式的實現(xiàn)方式比較寬松,所以不同的實現(xiàn)方式會有不同的問題。我們可以對單例模式的實現(xiàn)做一下分類,看一看有哪些不同的實現(xiàn)方式。

1根據(jù)單例對象的創(chuàng)建時機不同,可以分為餓漢模式和懶漢模式。餓漢是指在類加載的時候,就創(chuàng)建了對象。但是創(chuàng)建對象有時比較消耗資源,會造成類加載很慢,但是優(yōu)點是獲取對象的速度很快,因為早已經(jīng)創(chuàng)建好了嘛。懶漢就是相對餓漢而言,在需要返回單例對象的時候,在創(chuàng)建對象,類加載的時候,并不初始化,好處與缺點也不言而喻

2.根據(jù)是否實現(xiàn)線程安全,可以分為普通的懶漢模式這種線程不安全的寫法,和餓漢模式,雙重檢查鎖的懶漢模式,以及通過靜態(tài)內(nèi)部類或者枚舉類等實現(xiàn)的線程安全的寫法。

一個線程不安全的單例模式

public class SimpleSingleton {

  private static SimpleSingleton simpleSingleton;

  private SimpleSingleton(){

  }

  public static SimpleSingleton getInstance(){
    if (simpleSingleton == null) {
      simpleSingleton = new SimpleSingleton();
    }
    return simpleSingleton;
  }
}

分享名稱:深入淺析Java設(shè)計模式中的單例模式-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article4/ioiie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、ChatGPT小程序開發(fā)、網(wǎng)站改版、網(wǎng)站制作、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)