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

java 設(shè)計(jì)模式之單例的實(shí)例詳解

 更新時(shí)間:2017年09月21日 10:03:25   作者:海那邊的小萌男  
這篇文章主要介紹了java 設(shè)計(jì)模式之單例的實(shí)例詳解的相關(guān)資料, 希望通過本文能幫助到大家,讓大家徹底理解掌握單例模式,需要的朋友可以參考下

java 設(shè)計(jì)模式之單例的實(shí)例詳解

設(shè)計(jì)模式思想

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

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

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

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

設(shè)計(jì)模式的優(yōu)點(diǎn):

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

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

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

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

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

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

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

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

第二種: 懶漢式

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

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

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Java實(shí)現(xiàn)簡單棋盤存檔和讀取功能

    Java實(shí)現(xiàn)簡單棋盤存檔和讀取功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單棋盤存檔和讀取功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問題以及解決

    restTemplate未設(shè)置連接數(shù)導(dǎo)致服務(wù)雪崩問題以及解決

    面對(duì)線上問題,仔細(xì)分析原因,及時(shí)調(diào)整配置,能有效解決問題,本文詳細(xì)描述了線上遇到流量突增引發(fā)的問題,通過查看代碼和連接池信息,分析出問題的原因是連接池滿了,連接池大小配置不足以應(yīng)對(duì)大并發(fā)流量,通過調(diào)整連接池大小配置
    2024-10-10
  • Springboot使用redis實(shí)現(xiàn)接口Api限流的示例代碼

    Springboot使用redis實(shí)現(xiàn)接口Api限流的示例代碼

    本文主要介紹了Springboot使用redis實(shí)現(xiàn)接口Api限流的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 移除元素Java實(shí)現(xiàn)方式

    移除元素Java實(shí)現(xiàn)方式

    這篇文章主要介紹了移除元素Java實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Java之next()、nextLine()區(qū)別及問題解決

    Java之next()、nextLine()區(qū)別及問題解決

    這篇文章主要介紹了Java之next()、nextLine()區(qū)別及問題解決,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java中File文件操作類的基礎(chǔ)用法

    Java中File文件操作類的基礎(chǔ)用法

    這篇文章主要給大家介紹了關(guān)于Java中File文件操作類基礎(chǔ)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用File類具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • SpringBoot集成iTextPDF的實(shí)例

    SpringBoot集成iTextPDF的實(shí)例

    SpringBoot集成iTextPDF時(shí),創(chuàng)建PDF文檔涉及Document、PdfPTable和PdfPCell對(duì)象,設(shè)置文檔大小和頁邊距,使用Paragraph設(shè)置段落樣式,并通過Table和Cell控制表格樣式和對(duì)齊,還可加入圖片美化文檔,這些步驟對(duì)于生成具有中文內(nèi)容的PDF文件至關(guān)重要
    2024-09-09
  • 5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    這篇文章主要給大家介紹了關(guān)于java8 stream常用開發(fā)技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Servlet的線程安全問題

    Servlet的線程安全問題

    本文主要介紹了Servlet的線程安全問題,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • SpringValidation數(shù)據(jù)校驗(yàn)之約束注解與分組校驗(yàn)方式

    SpringValidation數(shù)據(jù)校驗(yàn)之約束注解與分組校驗(yàn)方式

    本文將深入探討Spring Validation的核心功能,幫助開發(fā)者掌握約束注解的使用技巧和分組校驗(yàn)的高級(jí)應(yīng)用,從而構(gòu)建更加健壯和可維護(hù)的Java應(yīng)用程序,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評(píng)論

平谷区| 镇江市| 岱山县| 中山市| 佛坪县| 巴马| 陵水| 思南县| 沙坪坝区| 射洪县| 济源市| 安阳县| 仙居县| 唐河县| 兴和县| 深水埗区| 房山区| 广安市| 许昌市| 东乌珠穆沁旗| 云南省| 通榆县| 当雄县| 蓬溪县| 二连浩特市| 壶关县| 潢川县| 宁河县| 寿光市| 锡林郭勒盟| 安庆市| 布尔津县| 腾冲县| 汽车| 汝南县| 托克逊县| 淅川县| 赤水市| 英超| 固阳县| 昌乐县|