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

java設(shè)計(jì)模式之單例模式的詳解及優(yōu)點(diǎn)

 更新時(shí)間:2017年08月06日 09:01:47   投稿:lqh  
這篇文章主要介紹了java設(shè)計(jì)模式之單例模式的詳解及優(yōu)點(diǎn)的相關(guān)資料,如果一個(gè)類始終只能創(chuàng)建一個(gè)實(shí)例,那么這個(gè)類被稱為單例類,這種設(shè)計(jì)模式被稱為單例模式,需要的朋友可以參考下

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

定義:如果一個(gè)類始終只能創(chuàng)建一個(gè)實(shí)例,那么這個(gè)類被稱為單例類,這種設(shè)計(jì)模式被稱為單例模式。

Spring框架里面可以將所有生成的bean對(duì)象都設(shè)置為單例模式,只需要在配置Bean實(shí)例時(shí)指定scope=“singleton”即可,或者不做配置默認(rèn)即為單例模式。

我們可以創(chuàng)建一個(gè)小的Demo來演示單例模式的實(shí)現(xiàn),只需要保證該類只能創(chuàng)建一個(gè)實(shí)例,我們可以用權(quán)限修飾符private修飾該類的構(gòu)造器。

提供一個(gè)創(chuàng)建該類的接口,該接口只能用static修飾,類里面創(chuàng)建一個(gè)成員變量來保存生成的實(shí)例。

代碼如下:

package test;

class Anmail{
  
}
class singlelonDemo {
  private static singlelonDemo sd;
  private singlelonDemo(){
    
  }
  public static singlelonDemo single(){
    if(sd == null){
      sd = new singlelonDemo();
    }
    return sd;
  }
}
public class singleDemo{
  public static void main(String[] args){
    singlelonDemo sd1 = singlelonDemo.single();
    singlelonDemo sd2 = singlelonDemo.single();
    System.out.println(sd1==sd2);
  }
}

輸出結(jié)果為true,表示生成的是一個(gè)實(shí)例。

單例模式是一種應(yīng)用很廣泛的設(shè)計(jì)模式,許多框架都有應(yīng)用,下面要講到的工廠模式里的工廠也只需要單個(gè)實(shí)例。

使用單例模式的兩個(gè)優(yōu)點(diǎn):

1、減少創(chuàng)建java實(shí)例所帶來的系統(tǒng)開銷。

2、便于系統(tǒng)跟蹤單個(gè)java實(shí)例的生命周期、實(shí)例狀態(tài)等。

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

相關(guān)文章

  • SpringBoot使用EmbeddedDatabaseBuilder進(jìn)行數(shù)據(jù)庫集成測試

    SpringBoot使用EmbeddedDatabaseBuilder進(jìn)行數(shù)據(jù)庫集成測試

    在開發(fā)SpringBoot應(yīng)用程序時(shí),我們通常需要與數(shù)據(jù)庫進(jìn)行交互,為了確保我們的應(yīng)用程序在生產(chǎn)環(huán)境中可以正常工作,我們需要進(jìn)行數(shù)據(jù)庫集成測試,在本文中,我們將介紹如何使用 SpringBoot 中的 EmbeddedDatabaseBuilder 來進(jìn)行數(shù)據(jù)庫集成測試
    2023-07-07
  • springMVC實(shí)現(xiàn)前臺(tái)帶進(jìn)度條文件上傳的示例代碼

    springMVC實(shí)現(xiàn)前臺(tái)帶進(jìn)度條文件上傳的示例代碼

    本篇文章主要介紹了springMVC實(shí)現(xiàn)前臺(tái)帶進(jìn)度條文件上傳的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • SpringBoot 圖形驗(yàn)證碼的生成和校驗(yàn)

    SpringBoot 圖形驗(yàn)證碼的生成和校驗(yàn)

    隨著系統(tǒng)和業(yè)務(wù)的不停升級(jí),前后端代碼放在一起的項(xiàng)目越來越臃腫,已經(jīng)無法快速迭代和職責(zé)區(qū)分了,于是紛紛投入了前后端分離的懷抱,發(fā)現(xiàn)代碼和職責(zé)分離以后,開發(fā)效率越來越高了,但是以前的驗(yàn)證碼登錄方案就要更改了。本文來看一下SpringBoot 圖形驗(yàn)證碼的生成和校驗(yàn)
    2021-05-05
  • 解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明)

    解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明)

    這篇文章主要介紹了解決Feign切換client到okhttp無法生效的坑(出現(xiàn)原因說明),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java利用Redis實(shí)現(xiàn)消息隊(duì)列的示例代碼

    Java利用Redis實(shí)現(xiàn)消息隊(duì)列的示例代碼

    本篇文章主要介紹了Java利用Redis實(shí)現(xiàn)消息隊(duì)列的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Spring注入Bean的一些方式總結(jié)

    Spring注入Bean的一些方式總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于Spring注入Bean的一些方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Java 鎖粗化與循環(huán)問題

    Java 鎖粗化與循環(huán)問題

    這篇文章主要介紹了Java 鎖粗化與循環(huán)的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • springboot 自定義配置Boolean屬性不生效的解決

    springboot 自定義配置Boolean屬性不生效的解決

    這篇文章主要介紹了springboot 自定義配置Boolean屬性不生效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 基于java構(gòu)造方法Vector查找元素源碼分析

    基于java構(gòu)造方法Vector查找元素源碼分析

    本篇文章是關(guān)于ava構(gòu)造方法Vector源碼分析系列文章,本文主要介紹了Vector查找元素的源碼分析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • Java 線程池全面總結(jié)與詳解

    Java 線程池全面總結(jié)與詳解

    在一個(gè)應(yīng)用程序中,我們需要多次使用線程,也就意味著,我們需要多次創(chuàng)建并銷毀線程。而創(chuàng)建并銷毀線程的過程勢必會(huì)消耗內(nèi)存。而在Java中,內(nèi)存資源是及其寶貴的,所以,我們就提出了線程池的概念
    2021-10-10

最新評(píng)論

娱乐| 通河县| 广平县| 平舆县| 万安县| 兴山县| 宁夏| 富民县| 柘城县| 区。| 康保县| 长乐市| 丽水市| 右玉县| 叙永县| 凌源市| 九龙坡区| 建德市| 台北市| 彩票| 肥城市| 普兰店市| 基隆市| 财经| 井陉县| 房山区| 雅安市| 崇文区| 曲周县| 琼结县| 简阳市| 贞丰县| 乐昌市| 枞阳县| 远安县| 永仁县| 瓦房店市| 敦化市| 建瓯市| 辉县市| 肥城市|