读书人

单l例形式

发布时间: 2012-10-16 09:57:37 作者: rapoo

单l例模式
这几天一直在学习设计模式,看到访问者模式有点不太理解,上javaeye搜索到兽王Rjx2008的博客,发现不少好东西。
先看了个常见的单例模式,刚接触设计模式买了本大话设计模式,讲到单例模式时关于多线程,用了双重检查锁DCL,不过在兽王的博客里对其否定了,来看看兽王是怎么讲解的吧。
不容易掌握的单例模式


小知识:单例模式有两种,饱汉、饿汉。顾名思义饿汉是饥不择食,强行创建,而饱汉则会挑挑食。

 public class Singleton {           private Singleton(){                   }        //静态内部类        static class SingletonInner{           static Singleton instance = new Singleton();        }               public static Singleton getInstance(){          return SingletonInner.instance;        }   }


原因:使用静态内部类!它是由一个叫Bob Lee的人写下来的(最初忘记了是哪两个人提出)。在加载singleton时并不加载它的内部类SingletonInner,而在调用 getInstance()时调用SingletonInner时才加载SingletonInner,从而调用singleton的构造函数,实例化 singleton,从而在不需要同步的情况下,达到延迟初始化的效果。


文中的内容均是兽王Rjx2008的出品,链接

读书人网 >软件架构设计

热点推荐