黑马程序员技术交流社区

标题: 单例设计模式 [打印本页]

作者: 帅气的冬瓜    时间: 2013-11-27 09:47
标题: 单例设计模式
本帖最后由 帅气的冬瓜 于 2013-11-27 11:07 编辑

  private Single(){}
  private Single s=new Single();
  private static Single getInstance(){
      retutn s;
   }
private Single (){}
private Single s=new Single();
private static  synchronized Single getInstance(){
       return s;
  }

上面这两种有何区别,在以后的编程中怎样应用?



作者: 殷挥笔    时间: 2013-11-27 10:30
两种都是饿汉式,第一种没有成员锁,一次可以有多个线程进入该代码块,第二种加了synchronized,有成员锁,所以一次只有一个线程可以进入该代码块。
作者: 潘际昌    时间: 2013-11-27 10:38
你这2种都是饿汉式,因为可能会出现异常,所以下面的在函数上加了个锁,更加安全。
作者: 帅气的冬瓜    时间: 2013-11-27 10:53
能否给个小例子,说明一下怎样应用?作为模式之一,肯定有很大的用处
作者: HAnG    时间: 2013-11-27 11:01
帅气的冬瓜 发表于 2013-11-27 10:53
能否给个小例子,说明一下怎样应用?作为模式之一,肯定有很大的用处

类库中的Runtime类使用的就是单例设计模式,没有提供构造函数,而是给了一个函数getRuntime()来返回Runtime对象。
作者: 帅气的冬瓜    时间: 2013-11-27 11:06
好的!谢谢了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2