最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java 中設(shè)計模式之單例

 更新時間:2017年08月12日 10:04:52   投稿:lqh  
這篇文章主要介紹了java 中設(shè)計模式之單例的相關(guān)資料,這里說明惡漢模式與懶漢模式,需要的朋友可以參考下

java 中設(shè)計模式之單例

設(shè)計模式思想

什么是設(shè)計模式:我作為初學者,今天第一次正式學習設(shè)計模式,我覺得對與理解什么是設(shè)計模式很重要,那么什么是設(shè)計模式呢?

設(shè)計模式:解決問題的一種行之有效的思想。

設(shè)計模式:用于解決特定環(huán)境下、重復出現(xiàn)的特定問題的解決方案

我的理解是前人在軟件設(shè)計的時候碰到了一類問題,他們總結(jié)出了一套行之有效,并且經(jīng)過驗證的解決方案。

設(shè)計模式的優(yōu)點:

1、設(shè)計模式都是一些相對優(yōu)秀的解決方案,很多問題都是典型的、有代表性的問題,學習設(shè)計模式,我們就不用自己從頭來解決這些問題,相當于在巨人的肩膀上,復用這些方案即可。

2、設(shè)計模式已經(jīng)成為專業(yè)人士的常用詞匯,不懂不利于交流。

3、能讓你設(shè)計的系統(tǒng)更加專業(yè),讓系統(tǒng)有更好的架構(gòu)。

設(shè)計模式1~~單例

單利設(shè)計模式是用來解決在內(nèi)存里面只能存在一個的某個類 的問題。 這個比較抽象,打個比方說 你要做一個打麻將游戲,丟骰子,第一個人丟了顯示的幾個數(shù)字,后面的人也要用。骰子這個類在內(nèi)存里只允許存在一份。此類問題就需要用單例設(shè)計方案解決。

第一種: 餓漢式 先自己new 出來。速度快,單是占用內(nèi)存多。

public class Single {
  private final static Single s = new Single();

  //類只能有一個故私有化構(gòu)造方法,不讓外面new對象
  private Single(){
  }
//工廠方法的命名規(guī)范
 getinstance
//當外面沒辦法new對象時候,我們對像給外面調(diào)要自己來new
// 當沒發(fā)new 對象時候,必須是靜態(tài)方法,給外界使用。
    public static Single getInstance(){
    return s;
  }
}

第二種: 懶漢式

//懶漢式
public class Single2 {
  // 先步開內(nèi)存,需要用的時候才new 
  private static Single2 s=null;
  private Single2(){
  }
  // synchronized 用來防多線程時。第一個和第二個線程搶資源都會進入s==null,
時new 兩次。
  public synchronized static Single2 getInstance(){
    if(s==null){
      s = new Single2();
    }
    return s;
  }
}

synchronized 看成鎖是屬于getInstance方法的。當方法屬于static時,鎖屬于類模板的,當方法是對象調(diào)用時鎖就屬于對象的。

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

相關(guān)文章

  • 讀取xml文件中的配置參數(shù)實例

    讀取xml文件中的配置參數(shù)實例

    下面小編就為大家?guī)硪黄x取xml文件中的配置參數(shù)實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java利用布隆過濾器實現(xiàn)快速檢查元素是否存在

    Java利用布隆過濾器實現(xiàn)快速檢查元素是否存在

    布隆過濾器是一個很長的二進制向量和一系列隨機映射函數(shù)。布隆過濾器可以用于檢索一個元素是否在一個集合中。本文就來詳細說說實現(xiàn)的方法,需要的可以參考一下
    2022-10-10
  • 深入講解SPI?在?Spring?中的應用

    深入講解SPI?在?Spring?中的應用

    這篇文章主要介紹了深入講解SPI在Spring中的應用,SPI是Java內(nèi)置的一種服務(wù)提供發(fā)現(xiàn)機制,可以用來提高框架的擴展性,主要用于框架的開發(fā)中
    2022-06-06
  • 教你怎么用Springboot自定義Banner圖案

    教你怎么用Springboot自定義Banner圖案

    今天給大家?guī)淼氖荍ava的相關(guān)知識,文章圍繞著怎么用Springboot自定義Banner圖案展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Spark內(nèi)存調(diào)優(yōu)指南

    Spark內(nèi)存調(diào)優(yōu)指南

    這篇文章主要為大家介紹了Spark內(nèi)存調(diào)優(yōu)指南數(shù)據(jù)序列化分析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • JDK10新特性之var泛型和多個接口實現(xiàn)方法

    JDK10新特性之var泛型和多個接口實現(xiàn)方法

    這篇文章主要介紹了JDK10的新特性:var泛型和多個接口實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Java中的transient關(guān)鍵字解析

    Java中的transient關(guān)鍵字解析

    這篇文章主要介紹了Java中的 transient關(guān)鍵字解析,有時候我們的一些敏感信息比如密碼并不想序列化傳輸給對方,這個時候transient關(guān)鍵字就派上用場了,如果一個類的變量加上了transient關(guān)鍵字那么這個字段就不會被序列化,需要的朋友可以參考下
    2023-09-09
  • Java正則表達式匹配電話格式

    Java正則表達式匹配電話格式

    正則表達式是由普通的字符以及特殊字符組成的文字模式,用來在查找文字主體時待匹配的一個或多個字符串。本文給大家介紹java正則表達式匹配電話格式,對java正則表達式匹配相關(guān)知識感興趣的朋友一起學習吧
    2015-11-11
  • 一次 Java 內(nèi)存泄漏的排查解決過程詳解

    一次 Java 內(nèi)存泄漏的排查解決過程詳解

    這篇文章主要介紹了一次 Java 內(nèi)存泄漏的排查過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 詳解mybatis-plus的 mapper.xml 路徑配置的坑

    詳解mybatis-plus的 mapper.xml 路徑配置的坑

    這篇文章主要介紹了詳解mybatis-plus的 mapper.xml 路徑配置的坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論

武川县| 白河县| 越西县| 织金县| 隆化县| 通河县| 广宗县| 岳池县| 库伦旗| 神木县| 宜都市| 台北市| 泗洪县| 商都县| 涞源县| 侯马市| 上饶市| 陇西县| 宿州市| 汨罗市| 伊宁市| 黑河市| 延津县| 丹阳市| 织金县| 崇左市| 兴化市| 永登县| 无锡市| 木兰县| 沙坪坝区| 宝鸡市| 西林县| 宁远县| 永福县| 都昌县| 扎囊县| 平谷区| 弋阳县| 双柏县| 山东省|