java單例模式(懶漢式與餓漢式)

java 單例模式

10年的臨安網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整臨安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“臨安網(wǎng)站設(shè)計”,“臨安網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

單例模式是一種常用的軟件設(shè)計模式。在它的可信結(jié)構(gòu)中只包含一個被實例化單例的特殊類。通過單例設(shè)計模式可以把整系統(tǒng)中的一個類只有一個實例。

單例設(shè)計模式又分為兩種方式,懶漢式和餓漢式。

(1)懶漢式,就是只有當調(diào)用getInstance的時候,才會初始化這個單例。

(2)餓漢式,就是一旦加載好類,就把單例初始化完成。即是調(diào)用getInstance的時候,單例是已經(jīng)存在了。

代碼如下:

懶漢式單例

/**
 * Description:
 * 一、設(shè)計了一個懶漢式單例
 * 
 * @author lee
 * */
public class SingleMode {

  public static SingleMode s = null;
  /**
   * Description:
   * 私有化構(gòu)造函數(shù)
   * 
   * */
  private SingleMode(){} 

  /**
   * Description:
   * 提供一個方法來獲取該單例
   * 
   * @return s 返回一個單例
   * */
  public static SingleMode getInstance(){

    //保證了線程安全,又減輕了資源加載和性能上的負擔
    //即是在創(chuàng)建一次對象后,不再需要線程鎖了。
    if(s==null){
      synchronized(""){
        if(s==null){
          s = new SingleMode();
        }
      }
    }

    return s;
  }

}



餓漢式單例

/**
 * Description:
 * 二、設(shè)計了一個餓漢式單例
 * 
 * @author lee
 * */
class SingleMode1{
  public static final SingleMode1 s = new SingleMode1();

  /**
   * Description:
   * 私有化構(gòu)造函數(shù)
   * 
   * */
  private SingleMode1(){}

  /**
   * Description:
   * 提供一個方法來獲取該單例
   * 
   * @return s 返回一個單例
   * */
  public static SingleMode1 getInstance(){
    return s;
  }

}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

當前名稱:java單例模式(懶漢式與餓漢式)
分享URL:http://bm7419.com/article16/jdjdgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、電子商務企業(yè)建站、網(wǎng)站收錄企業(yè)網(wǎng)站制作、網(wǎng)站維護

廣告

聲明:本網(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)站優(yōu)化排名