熟知并非真知
黑格尔 《小逻辑》

在有了一些编程经历后,是否对这些经历已经熟视无睹,觉得他就应该那样呢?作为有着好奇心的码农,我老是想优化一下,想探究一下事情背后的原理,这方面做得比较极致的是Scott Meyers和Joshua Bloch

Singleton想必大家已经熟得不能再熟,但有多少人把他用在了不该用的地方,或者用的有问题?对这些熟悉的概念有多人会去再深究一下。
单件的wiki,可以再看一下 http://en.wikipedia.org/wiki/Singleton_pattern,看看自己日常写的Singleton是否正确了。

附上Bill Pugh的Java Singleton写法,wiki里有

public class Singleton {
    // Private constructor prevents instantiation from other classes
    private Singleton() { }

    /**
    * SingletonHolder is loaded on the first execution of Singleton.getInstance() 
    * or the first access to SingletonHolder.INSTANCE, not before.
    */
    private static class SingletonHolder { 
            public static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
            return SingletonHolder.INSTANCE;
    }
}