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

Java實(shí)現(xiàn)單例設(shè)計(jì)模式方法解析

 更新時(shí)間:2020年04月03日 14:22:29   作者:dirsoen  
這篇文章主要介紹了Java實(shí)現(xiàn)單例設(shè)計(jì)模式方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

單例模式的幾種實(shí)現(xiàn)方式:

一:餓漢式單例

方式一:枚舉方式獲得單例對象

方式二:靜態(tài)屬性獲得單例對象

方式三:靜態(tài)方法獲得單例對象

二:懶漢式單例

方式一:靜態(tài)方法獲得單例對象(線程安全)

方式二:內(nèi)部類方式去獲取單例對象

示例:

惡漢式:方式一

enum Singleton{
  INSTANCE;//單例
}

惡漢式:方式二

class Singleton{
  public static final Singleton INSTANCE = new Singleton();//單例
  private Singleton(){}
}

惡漢式:方式三

class Singleton{
  private static final Singleton INSTANCE = new Singleton();//單例
  private Singleton(){}
  public static Singleton getInstance(){
    return INSTANCE;
  }
}

懶漢式:方式一

class Singleton{
	  private static Singleton instance;
	  private Singleton(){
	}
	  public static Singleton getInstance(){
		    //存在線程安全問題(多線程的時(shí)候,不一定是單例)
		    
		/*if(null == instance){
      instance = new Singleton();
    }
    return instance;*/
		    if(null == instance){
			//提升代碼效率,避免每一次都去走同步代碼塊
			      synchronized(Singleton.class){
				        if(null == instance){
					          instance = new Singleton();
				}
				        return instance;
				        
			}
			 
		}
		      return instance;
		   
	}
}
}

懶漢式:方式二

class Singleton{
  private Singleton(){}
  private static class Inner{
    public static final Singleton INSTANCE = new Singleton();
  }
  public static Singleton getInstance(){
    return Inner.INSTANCE;
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java Swing實(shí)現(xiàn)五子棋游戲

    java Swing實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java Swing實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • Spring?Boot?集成PageHelper的使用方法

    Spring?Boot?集成PageHelper的使用方法

    這篇文章主要介紹了Spring?Boot?集成PageHelper的使用方法,文章內(nèi)容圍繞主題展開詳細(xì)介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • Java協(xié)程編程之Loom

    Java協(xié)程編程之Loom

    這篇文章主要介紹了Java協(xié)程編程Loom的方法,需要的朋友請看下文
    2021-08-08
  • Java使用POI導(dǎo)出Excel(一):單sheet

    Java使用POI導(dǎo)出Excel(一):單sheet

    這篇文章介紹了Java使用POI導(dǎo)出Excel的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • SpringBoot中@ComponentScan注解過濾排除不加載某個(gè)類的3種方法

    SpringBoot中@ComponentScan注解過濾排除不加載某個(gè)類的3種方法

    這篇文章主要給大家介紹了關(guān)于SpringBoot中@ComponentScan注解過濾排除不加載某個(gè)類的3種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用SpringBoot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Java通過數(shù)據(jù)庫表生成實(shí)體類詳細(xì)過程

    Java通過數(shù)據(jù)庫表生成實(shí)體類詳細(xì)過程

    這篇文章主要介紹了Java通過數(shù)據(jù)庫表生成實(shí)體類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • SpringBoot集成easy-rules規(guī)則引擎流程詳解

    SpringBoot集成easy-rules規(guī)則引擎流程詳解

    這篇文章主要介紹了SpringBoot集成easy-rules規(guī)則引擎流程,合理的使用規(guī)則引擎可以極大的減少代碼復(fù)雜度,提升代碼可維護(hù)性。業(yè)界知名的開源規(guī)則引擎有Drools,功能豐富,但也比較龐大
    2023-03-03
  • 圖文詳解Java中的字節(jié)輸入與輸出流

    圖文詳解Java中的字節(jié)輸入與輸出流

    在Java中所有數(shù)據(jù)都是使用流讀寫的,流是一組有序的數(shù)據(jù)序列,將數(shù)據(jù)從一個(gè)地方帶到另一個(gè)地方,這篇文章主要給大家介紹了關(guān)于Java中字節(jié)輸入與輸出流的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Mybatis-plus多條件篩選分頁的實(shí)現(xiàn)

    Mybatis-plus多條件篩選分頁的實(shí)現(xiàn)

    本文主要介紹了Mybatis-plus多條件篩選分頁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Springboot中集成Swagger2框架的方法

    Springboot中集成Swagger2框架的方法

    這篇文章主要介紹了Springboot中集成Swagger2框架的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12

最新評論