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

單例幾種常見的形式

系統 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條評論
主站蜘蛛池模板: 亚洲精品无码不卡在线播放he | 天天色综合天天 | 性做久久久久久免费观看 | 日本一级欧美一级中文 | 四虎免费入口 | 国产一级毛片外aaaa | 成人黄色一级视频 | 亚洲激情视频在线播放 | 看欧美一级片 | 久久免费在线视频 | 国产福利视频一区二区三区四区 | 国产日韩不卡免费精品视频 | 黄色网欧美 | 久久精品国产欧美成人 | 九九综合九九综合 | 91热爆国产露脸 | 日本一区毛片免费观看 | 久久国产一区二区三区 | 一级毛片特级毛片黄毛片 | 精品久久久久久蜜臂a∨ | 久久这里只有免费精品6www | 久草在线视频在线观看 | 91香蕉在线| 久久精品国产夜色 | 极品精品国产超清自在线观看 | 日日射影院| 999久久久国产精品 999久久久精品视频在线观看 | 久久黄视频 | 久久国产精品亚洲综合 | 激情婷婷成人亚洲综合 | 精品国产一区二区三区四 | 精品伊人| 色婷婷色综合激情国产日韩 | 亚洲国产精品一区二区久久hs | 四房婷婷在线视频播放 | 国产精品久久香蕉免费播放 | 四虎影永久在线观看网址 | 久久精品国产精品亚洲艾 | 天天综合网色 | 成人网中文字幕色 | 色综合亚洲欧美在线 |