单例模式

2018-10-14  本文已影响0人  黄褐色猫头鹰

单例模式, 主要为了解决多个线程或者多次操作共享一个实例的问题; 所以就会面对线程安全问题, 和效率的问题;

解决方案: 1.私有化构造方法, 来禁止外部创建实例; 2.内部创建一个私有静态实例, 外部通过公共接口来调用;


publicclassSingleton {

    privatestaticSingleton instance = null;

    privateSingleton() {

        if(instance != null) {

            thrownewRuntimeException("instance already exist!");

        }

    }

    publicstaticSingleton getInstace() {

        if(instance == null) {

            synchronized(Singleton.class) {

                if(instance == null) {

                    instance = newSingleton();

                }

            }

        }

        returninstance;

    }

}

上一篇下一篇

猜你喜欢

热点阅读