Java设计模式之Singleton单例模式Java认证考试

文章作者 100test 发表时间 2010:01:01 15:48:24
来源 100Test.Com百考试题网


  Singleton (单例模式)

  Intent :Ensure a class only has one instance , and provide a global point of access of it.

  瞎谈:就是保证一个类只有一个实例,并且提供一个全局可访问的点。打个比方,广州限制每户人家养狗,但是只能养一条。一开始你没有狗,你去买一条。若干年后,狗不行失踪了。你为了填补寂寞的空虚,别人又送你一条(或者还是你自己买的)。我们不关注你的狗来源,只保证你家的狗每时每刻就一条。你为了确保以后养狗方便,就到保险公司办了保险,他们承诺,你的狗要是出现意外事故,他们负责陪一条给你。从此,你自由了,狗的事情交给别人了,而且别人也保证只给一条给你。

  正经:很多时候我们要保证类的实例只有一个。我们可能在自己的代码中判断需要的类的实例有无,无就new一个。这样看似不错。问题是,你用到这个类的地方有n个,这样你就需要n个判断。为什么不把这个职责交给类本身呢?然后让类提供一个接口访问

  代码实现:

  public class Singleton

  {

  private static Singleton singleton=null.

  private Singleton()

  {}

  public static Singleton instance()

  {

  if(singleton==null)

  singleton = new Singleton().

  return singleton

  return singleton.

  }

  }

  有无问题:碰上多线程怎么办?凉拌了。加锁吧,或者。。。前人总结的经验,有3中方法

  1.


相关文章


用JAVA做的一个石头,剪刀,布的游戏Java认证考试
2009年的Java技术趋势Java认证考试
JavaAIO初探(异步网络IO)Java认证考试
动态表单及动态建表实现原理Java认证考试
Java设计模式之Singleton单例模式Java认证考试
Mechanize使用cookies模拟登录Java认证考试
正则表达式在java程序中的应用分析Java认证考试
Java的泛型原来这样让人不舒服Java认证考试
java认证辅导:java基础常见错误总结Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛