A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李志鹏 中级黑马   /  2015-5-31 23:36  /  352 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. 单例设计模式:
  2. 解决:保证了一个类在内存中只能有一个对象

  3. 比如多程序访问同一个配置文件,希望多程序操作的都是同一个配置文件中的数据
  4. 那么就需要保证该配置文件对象的唯一性
  5. //饿汉式   开发时一般写这个
  6. class Single
  7. {
  8.         private static Single s = new Single();
  9.         private Single(){}
  10.         public static Single getInstance(){//定义了方法是为了可控
  11.                 return s;       
  12.         }
  13. }
  14. //懒汉式
  15. //单例的延迟加载方式    //平时使用时用这个
  16. class Single2
  17. {
  18.         private static Single2 s = null;
  19.         private Single2(){}
  20.         public static Single2 getInstance(){
  21.                 if(s==null){
  22.                         s = new Single2();
  23.                 }
  24.                 return s;
  25.         }
  26. }

  27. class  SingleDemo
  28. {
  29.         public static void main(String[] args)
  30.         {
  31.        
  32.                 一种写法
  33.             Single s1 = new Single();
  34.                 Single s2 = new Single();
  35.                 System.out.println(s1==s2);

  36.                 //另一种写法
  37.                 Single s1 = Single.s;  //一般不会这么写
  38.                 Single s2 = Single.s;
  39.                 System.out.println(s1==s2);
  40.         }
  41. }
复制代码

5 个回复

倒序浏览
路过看看
回复 使用道具 举报
还没学到这个~~:'(

点评

加油  发表于 2015-6-1 12:04
回复 使用道具 举报
你的懒汉式多线程访问时有安全问题,要加锁同步一下
回复 使用道具 举报
学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马