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

單例幾種常見的形式

系統 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條評論
主站蜘蛛池模板: 免费看又爽又黄禁片视频1000 | 国产人做人爱免费视频 | 欧美日韩中文亚洲v在线综合 | 日韩色区 | 亚洲激情网站 | 女性下面全部视频免费 | 欧美人成一本免费观看视频 | 一区二区三区精品视频 | 伊人久久在线视频 | 麻豆成人久久精品二区三区小说 | 久久最近最新中文字幕大全 | 四虎精品免费永久在线 | 四虎三级 | 久久久99视频 | 日本不卡一区二区三区 | 毛片黄片视频 | 久久艹国产 | 精品日韩在线视频 | 久久国产精品老女人 | 黄视频在线观看www 黄视频在线观看网站 | 欧美成人另类 | 国产欧美亚洲精品 | 亚洲原创区 | 国产www视频 | 九九精品视频在线观看九九 | 久久久精品日本一区二区三区 | 成人午夜大片 | 精品国产成人高清在线 | 97se色综合一区二区二区 | 日韩狠狠操 | 人人爱天天做夜夜爽毛片 | 久草视频中文 | 亚洲免费播放 | 精品少妇一区二区三区视频 | 国产精品柳州莫菁身材四 | 亚洲香蕉在线 | 一级黄色毛片免费看 | 久久久久琪琪免费影院 | 女人寂寞偷人视频a级 | 中国第一毛片 | 手机看片日韩高清国产欧美 |