亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

單例幾種常見的形式

系統 1916 0

原文地址: http://forestqqqq.iteye.com/blog/1896723

一,餓漢式單例

Java代碼 ? ? 收藏代碼
  1. //餓漢式單例1 ??
  2. public ? class ?Singleton1?{??
  3. ???? private ? static ? final ?Singleton1?instance?=? new ?Singleton1();??
  4. ???? private ?Singleton1(){}??
  5. ???? public ? static ?Singleton1?getInstance(){??
  6. ???????? return ?instance;??
  7. ????}??
  8. }??
  9. ??
  10. //餓漢式單例2 ??
  11. class ?Singleton{??
  12. ???? private ? static ? class ?Single{??
  13. ???????? static ? final ?Singleton?instance?=? new ?Singleton();??
  14. ????}??
  15. ???? private ?Singleton(){}??
  16. ???? public ? static ?Singleton?getInstance(){??
  17. ???????? return ?Single.instance;??
  18. ????}??
  19. }??

?

二,懶漢式單例

Java代碼 ? ? 收藏代碼
  1. //懶漢式單例 ??
  2. public ? class ?Singleton2?{??
  3. ???? private ? static ?Singleton2?instance?=? null ;??
  4. ???? private ?Singleton2(){}??
  5. ???? public ? static ? synchronized ?Singleton2?getInstance(){??
  6. ???????? if (instance?==? null ){??
  7. ????????????instance?=? new ?Singleton2();??
  8. ????????}??
  9. ???????? return ?instance;??
  10. ????}??
  11. }??

?

三,DCL雙重鎖檢測式單例

Java代碼 ? ? 收藏代碼
  1. //DCL雙重鎖檢測式單例 ??
  2. public ? class ?Singleton3?{??
  3. ???? private ? volatile ? static ?Singleton3?instance?=? null ;??
  4. ???? private ?Singleton3(){}??
  5. ???? public ? static ?Singleton3?getInstance(){??
  6. ???????? if (instance?==? null ){??
  7. ???????????? synchronized (Singleton3. class ){??
  8. ???????????????? if (instance?==? null ){??
  9. ????????????????????instance?=? new ?Singleton3();??
  10. ????????????????}??
  11. ????????????}??
  12. ????????}??
  13. ???????? return ?instance;??
  14. ????}??
  15. //參考文章:http://www.ibm.com/developerworks/cn/java/j-dcl.html ??
  16. }??

?

?

四,登記式單例

Java代碼 ? ? 收藏代碼
  1. import ?java.lang.reflect.Constructor;??
  2. import ?java.util.HashMap;??
  3. import ?java.util.Map;??
  4. ??
  5. //登記式單例 ??
  6. public ? class ?Singleton4?{??
  7. ???? private ?? static ? final ?Map<String,Singleton4>?instances?=??
  8. ???????????? new ?HashMap<String,Singleton4>();??
  9. ???? static {??
  10. ????????Singleton4?instance?=? new ?Singleton4();??
  11. ????????instances.put(instance.getClass().getName(),?instance);??
  12. ????}??
  13. ???? protected ?Singleton4(){}??
  14. ???? public ? static ? synchronized ?Singleton4?getInstance(String?name){??
  15. ???????? if (name?==? null ){??
  16. ????????????name?=?Singleton4. class .getName();??
  17. ????????}??
  18. ???????? if (instances.get(name)?==? null ){??
  19. ???????????? try ?{??
  20. ????????????????Constructor?con?=?Class.forName(name).getDeclaredConstructor();??
  21. ????????????????con.setAccessible( true );??
  22. ????????????????instances.put(name,?(Singleton4)con.newInstance());??
  23. ????????????}? catch ?(Exception?e)?{??
  24. ????????????????e.printStackTrace();??
  25. ????????????}??
  26. ????????}??
  27. ???????? return ?instances.get(name);??
  28. ????}??
  29. //參考文章:http://www.cnblogs.com/whgw/archive/2011/10/05/2199535.html ??
  30. }??

單例幾種常見的形式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 狠狠色狠狠色综合系列 | 国内精品一级毛片免费看 | 天天曰天天 | 国产第一色 | 狠狠激情五月综合婷婷俺 | 96国产xxxx| 玖玖国产在线观看 | 狠狠操综合网 | 亚洲区在线播放 | 国产精品777| 欧美日韩亚洲综合 | 久久成人国产 | 精品999久久久久久中文字幕 | 欧美在线视频一区二区 | 日日摸天天摸狠狠摸摸 | 日韩欧美中文字幕一区二区三区 | 99久久国产综合精品女小说 | 亚洲高清视频网站 | 午夜久久久久久 | 波多野结衣久久一区二区 | 国产普通话自拍 | 久久亚洲国产的中文 | 国内精品久久久久久影院网站小说 | 国产精品资源站 | 免费的毛片网站 | 天天干人人干 | 国产男女猛视频在线观看网站 | 成人在线观看一区 | 国产精品久久久久久一区二区 | 国产香蕉久久 | 亚洲热在线观看 | 青青青青久久精品国产h | 国产99re在线观看只有精品 | 午夜国产精品影院在线观看 | 四虎国产精品永久在线网址 | 成人网18免费网 | 一级片免费在线 | 国产精品合集久久久久青苹果 | 日韩一区二区久久久久久 | 色婷婷在线视频 | 国产乳摇福利视频在线观看 |