欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年07月21日 11:31:26   作者:沈君  
這篇文章主要介紹了java 單例模式的相關(guān)資料,這里對懶漢式與餓漢式都做了實例介紹,需要的朋友可以參考下

java 單例模式

單例模式是一種常用的軟件設(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;
  }

}

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

相關(guān)文章

  • Spring?Cloud實現(xiàn)灰度發(fā)布的示例代碼

    Spring?Cloud實現(xiàn)灰度發(fā)布的示例代碼

    這篇文章主要為大家詳細介紹了Spring?Cloud實現(xiàn)灰度發(fā)布的相關(guān)知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解一下
    2023-09-09
  • JavaSE詳細講解異常語法

    JavaSE詳細講解異常語法

    異常就是不正常,比如當我們身體出現(xiàn)了異常我們會根據(jù)身體情況選擇喝開水、吃藥、看病、等 異常處理方法。 java異常處理機制是我們java語言使用異常處理機制為程序提供了錯誤處理的能力,程序出現(xiàn)的錯誤,程序可以安全的退出,以保證程序正常的運行等
    2022-05-05
  • TC?集群Seata1.6高可用架構(gòu)源碼解析

    TC?集群Seata1.6高可用架構(gòu)源碼解析

    這篇文章主要為大家介紹了TC?集群Seata1.6高可用架構(gòu)源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源案例分析

    Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源案例分析

    這篇文章主要介紹了Spring Boot + Mybatis 實現(xiàn)動態(tài)數(shù)據(jù)源,需要的朋友可以參考下
    2018-11-11
  • Java中的SynchronousQueue隊列詳解

    Java中的SynchronousQueue隊列詳解

    這篇文章主要介紹了Java中的SynchronousQueue隊列詳解,SynchronousQueue是BlockingQueue的一種,所以SynchronousQueue是線程安全的,SynchronousQueue和其他的BlockingQueue不同的是SynchronousQueue的capacity是0,需要的朋友可以參考下
    2023-12-12
  • Java 封裝基礎(chǔ)知識

    Java 封裝基礎(chǔ)知識

    這篇文章主要介紹了Java 封裝的相關(guān)資料,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot項目導出jar包及瘦身部署方式

    SpringBoot項目導出jar包及瘦身部署方式

    今天項目要求Nginx+jar包運行多個項目,在此記錄一下部署的過程,其中借鑒了好多網(wǎng)上前輩的經(jīng)驗,感謝各位的無私分享
    2024-07-07
  • spring用戶通過交互界面登錄成功的實現(xiàn)

    spring用戶通過交互界面登錄成功的實現(xiàn)

    本文主要介紹了spring用戶通過交互界面登錄成功的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • List、Map、Set接口在Java中的存取元素特點詳細探討

    List、Map、Set接口在Java中的存取元素特點詳細探討

    在Java編程語言中集合框架是處理對象組的重要工具,主要包括List、Set和Map接口,這些接口及其實現(xiàn)類提供了豐富的功能,這篇文章主要給大家介紹了關(guān)于List、Map、Set接口在Java中的存取元素特點,需要的朋友可以參考下
    2024-08-08
  • Springboot的yml配置文件用法

    Springboot的yml配置文件用法

    這篇文章主要介紹了Springboot的yml配置文件用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論