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

單例幾種常見的形式

系統 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條評論
主站蜘蛛池模板: 久久久久国产一级毛片高清版 | japanese乱子另类 | 国产激情一区二区三区在线观看 | 日韩一区二区免费看 | 国产午夜精品久久久久 | 久久精品中文字幕 | 亚洲天天综合网 | 劲爆激情欧美毛片 | 亚洲精品久久久久中文字小说 | 福利在线观看视频 | 99热久久这里只精品国产ww | 亚洲美女视频网 | 米奇精品一区二区三区 | 91在线看片一区国产 | 老司机久久精品 | 久久精品亚洲综合一品 | 成人一级片在线观看 | 日本不卡免费高清视频 | 久久久久嫩草影院精品 | 全部在线播放免费毛片 | 色综合伊人色综合网亚洲欧洲 | 在线免费午夜视频 | 亚洲视频二区 | 一级毛片在线免费观看 | 精品免费一区二区三区 | 亚洲综合色在线观看 | 中国日韩欧美中文日韩欧美色 | 黄色毛片在线播放 | 亚洲成a人片在线观看www | 欧美久久影院 | 国产精品久久久久久影院 | 欧美性猛交xxxx免费看手交 | 奇米影视在线 | 天天操天天摸天天干 | 精品国产一区二区三区www | 国产aav| 三区在线观看 | 欧美久久综合九色综合 | 久久综合一区二区 | 成人毛片网 | 亚洲精品无人区一区二区三区 |