单例模式的最佳实现方式

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;

        }

}

99%的Java程序员实现不了一个完美的单例模式,看看Wiki上给出的最佳实现:http://t.cn/zOvZMy3 通过单例模式全面了解Double-checked locking以及并发时候的锁的问题:http://t.cn/aKbmIb

你可能感兴趣的:(单例模式)