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

java 中設計模式之單例

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

java 中設計模式之單例

設計模式思想

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

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

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

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

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

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

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

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

設計模式1~~單例

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

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

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

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

第二種: 懶漢式

//懶漢式
public class Single2 {
  // 先步開內存,需要用的時候才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時,鎖屬于類模板的,當方法是對象調用時鎖就屬于對象的。

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

相關文章

  • 讀取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內置的一種服務提供發(fā)現(xiàn)機制,可以用來提高框架的擴展性,主要用于框架的開發(fā)中
    2022-06-06
  • 教你怎么用Springboot自定義Banner圖案

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

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

    Spark內存調優(yōu)指南

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

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

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

    Java中的transient關鍵字解析

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

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

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

    一次 Java 內存泄漏的排查解決過程詳解

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

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

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

最新評論

武隆县| 英吉沙县| 汽车| 即墨市| 东乌| 靖远县| 清徐县| 江安县| 延吉市| 长汀县| 乐至县| 织金县| 连城县| 新竹县| 甘孜县| 水城县| 嘉善县| 道真| 醴陵市| 洮南市| 呈贡县| 永寿县| 湛江市| 葵青区| 林甸县| 宣化县| 嘉善县| 武定县| 南投市| 泸定县| 大渡口区| 广宗县| 凉城县| 临洮县| 宿州市| 疏勒县| 东方市| 南昌市| 山西省| 平顺县| 酒泉市|