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

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

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

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

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

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

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

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

代碼如下:

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,表示生成的是一個實例。

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

使用單例模式的兩個優(yōu)點:

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

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

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

相關(guān)文章

  • 巧用FutureTask 線程池輕松解決接口超時問題

    巧用FutureTask 線程池輕松解決接口超時問題

    這篇文章主要為大家介紹了使用FutureTask結(jié)合線程池輕松解決接口超時問題的巧妙用法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Spring?@Cacheable讀取配置常量方式

    Spring?@Cacheable讀取配置常量方式

    這篇文章主要介紹了Spring?@Cacheable讀取配置常量方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 最新Java?泛型中的通配符講解

    最新Java?泛型中的通配符講解

    Java的泛型是偽泛型,那是因為泛型信息只存在于代碼編譯階段,在生成的字節(jié)碼中是不包含泛型中的類型信息的,使用泛型的時候加上類型參數(shù),在編譯器編譯的時候會去掉,這個過程為類型擦除,這篇文章主要介紹了Java?泛型中的通配符,需要的朋友可以參考下
    2022-06-06
  • Spring Data JPA中 in 條件參數(shù)的傳遞方式

    Spring Data JPA中 in 條件參數(shù)的傳遞方式

    這篇文章主要介紹了Spring Data JPA中 in 條件參數(shù)的傳遞方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java線程間通訊的幾種方法小結(jié)

    Java線程間通訊的幾種方法小結(jié)

    線程通信可以用于控制并發(fā)線程的數(shù)量,本文主要介紹了Java線程間通訊的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Java繼承方法重寫實現(xiàn)原理及解析

    Java繼承方法重寫實現(xiàn)原理及解析

    這篇文章主要介紹了Java繼承方法重寫實現(xiàn)原理及解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 使用Spring Data Jpa的CriteriaQuery一個陷阱

    使用Spring Data Jpa的CriteriaQuery一個陷阱

    使用Spring Data Jpa的CriteriaQuery進行動態(tài)條件查詢時,可能會遇到一個陷阱,當條件為空時,查詢不到任何結(jié)果,并不是期望的返回所有結(jié)果。這是為什么呢?
    2020-11-11
  • Java中值傳遞和引用傳遞的區(qū)別

    Java中值傳遞和引用傳遞的區(qū)別

    這篇文章主要介紹了Java中值傳遞和引用傳遞的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • SpringBoot整合RabbitMQ及原理

    SpringBoot整合RabbitMQ及原理

    這篇文章主要介紹了SpringBoot整合RabbitMQ及其原理分析,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Java的內(nèi)存分配與回收策略詳解

    Java的內(nèi)存分配與回收策略詳解

    這篇文章主要介紹了Java的內(nèi)存分配與回收策略詳解,對象的內(nèi)存分配,就是在堆上分配,對象主要分配在新生代的 Eden 區(qū)上,少數(shù)情況下可能直接分配在老年代,分配規(guī)則不固定,取決于當前使用的垃圾收集器組合以及相關(guān)的參數(shù)配置,需要的朋友可以參考下
    2023-08-08

最新評論