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

Java多線程下的單例模式參考

 更新時(shí)間:2016年06月14日 11:19:38   作者:kingxss  
這篇文章主要演示多線程下的單例模式,分別演示了lock和synchronized兩種方案,希望能給大家做一個(gè)參考。

單例有多種的寫法,本例是懶漢式單例的一種寫法。在高并發(fā)環(huán)境下需要注意的是:

1.單例在并發(fā)訪問(wèn)并調(diào)用其相應(yīng)的getInstance方法的時(shí)候也會(huì)造成創(chuàng)建多個(gè)實(shí)例對(duì)象,加鎖是必要的。

2.使用synchronized是比較好的解決方案,優(yōu)點(diǎn)是代碼簡(jiǎn)潔,缺點(diǎn)是在拋出異常的時(shí)候不能處理維護(hù)使系統(tǒng)處于良好狀態(tài)。

3.顯示的lock設(shè)定是良好的解決方案。

使用lock的代碼如下:

package demo; 
 
import java.util.concurrent.locks.Lock; 
import java.util.concurrent.locks.ReentrantLock; 
 
/** 
 * 參考使用 
 * @author Watson_Xu 
 * @date 2012-1-8 下午04:31:09 
 */ 
public final class SingletonContext { 
  private static SingletonContext sc = null; 
  private SingletonContext() { 
   
  } 
   
  private static Lock lock = new ReentrantLock(); 
  public static SingletonContext getInstance() { 
    if(sc == null) { 
      lock.lock(); 
      if(sc == null) { 
        try{ 
          sc = new SingletonContext(); 
        } finally { 
          lock.unlock(); 
        } 
      } 
    } 
    return sc; 
  } 
}

使用synchronized的時(shí)候代碼如下:

package demo; 
 
/** 
 * 參考使用 
 * 
 * @author Watson_Xu 
 * @date 2012-1-8 下午04:31:09 
 */ 
public final class SingletonContext { 
  private static SingletonContext sc = null; 
 
  private SingletonContext() { 
 
  } 
 
  public static synchronized SingletonContext getInstance() { 
    if(null == sc) { 
      sc = new SingletonContext(); 
    } 
    return new SingletonContext(); 
  } 
} 

查看更多Java的語(yǔ)法,大家可以關(guān)注:《Thinking in Java 中文手冊(cè)》、《JDK 1.7 參考手冊(cè)官方英文版》、《JDK 1.6 API java 中文參考手冊(cè)》、《JDK 1.5 API java 中文參考手冊(cè)》,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot中使用Feign整合nacos,gateway進(jìn)行微服務(wù)之間的調(diào)用方法

    springboot中使用Feign整合nacos,gateway進(jìn)行微服務(wù)之間的調(diào)用方法

    這篇文章主要介紹了springboot中使用Feign整合nacos,gateway進(jìn)行微服務(wù)之間的調(diào)用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • SpringBoot使用AOP,內(nèi)部方法失效的解決方案

    SpringBoot使用AOP,內(nèi)部方法失效的解決方案

    這篇文章主要介紹了SpringBoot使用AOP,內(nèi)部方法失效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java加解密RSA使用方法代碼示例

    java加解密RSA使用方法代碼示例

    這篇文章主要介紹了java加解密RSA使用方法代碼示例,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • 關(guān)于Mybatis的@param注解及多個(gè)傳參

    關(guān)于Mybatis的@param注解及多個(gè)傳參

    這篇文章主要介紹了關(guān)于Mybatis的@param注解及多個(gè)傳參,@Param的作用就是給參數(shù)命名,比如在mapper里面某方法A(int id),當(dāng)添加注解后A(@Param(“userId”) int id),也就是說(shuō)外部想要取出傳入的id值,只需要取它的參數(shù)名userId就可以了,需要的朋友可以參考下
    2023-05-05
  • Spring?MVC各種參數(shù)進(jìn)行封裝的方法實(shí)例

    Spring?MVC各種參數(shù)進(jìn)行封裝的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Spring?MVC各種參數(shù)進(jìn)行封裝的相關(guān)資料,SpringMVC內(nèi)置多種數(shù)據(jù)類型轉(zhuǎn)換器,可以根據(jù)請(qǐng)求中的參數(shù)與后端控制器方法的參數(shù)的關(guān)系為我們實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)封裝,需要的朋友可以參考下
    2023-06-06
  • Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例

    Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例

    本篇文章主要介紹了Java 處理圖片與base64 編碼的相互轉(zhuǎn)換的示例,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • Java Web最近面試題匯總

    Java Web最近面試題匯總

    在本篇文章里小編給大家整理的是一篇關(guān)于Java Web最近面試題匯總內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • 手把手帶你粗略了解Java--類和對(duì)象

    手把手帶你粗略了解Java--類和對(duì)象

    這篇文章主要給大家介紹了關(guān)于java中類和對(duì)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 簡(jiǎn)單了解java獲取類的3種方式

    簡(jiǎn)單了解java獲取類的3種方式

    這篇文章主要介紹了java獲取類的3種方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java中List遍歷刪除元素remove()的方法

    Java中List遍歷刪除元素remove()的方法

    這篇文章主要介紹了Java中List遍歷刪除元素remove()的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評(píng)論

岱山县| 荣昌县| 扎兰屯市| 徐州市| 金寨县| 东明县| 宁津县| 罗定市| 乐山市| 页游| 鱼台县| 沙洋县| 本溪市| 广宁县| 石门县| 乐安县| 肇源县| 巨鹿县| 定西市| 永昌县| 荣昌县| 南城县| 保定市| 烟台市| 高州市| 临桂县| 肥乡县| 章丘市| 高邑县| 花垣县| 邮箱| 武功县| 灵石县| 略阳县| 依安县| 蒙阴县| 临颍县| 建宁县| 江门市| 英吉沙县| 焦作市|