单例模式--一种高并发性能及单例创建时间可控的方式

直接上代码:

public class StaticSingleton {

  private StaticSingleton() {

    //some handler...

  }

  private static class SingletonHolder {

    private static StaticSingleton instance = new StaticSingleton();

  }

  public static StaticSingleton getInstance(){

    return SingletonHolder.instance;

  }

}

上述代码再高并发环境下不用上锁,并且只有在getInstance()方法第一次被调用时,StaticSingleton实例才会被创建,该方法巧妙地

使用了内部类和类的初始化方法。内部类为private,外界不可能方位并初始化它。只有调用getInstance()方法时,内部类才会被初始

化。

原文地址:https://www.cnblogs.com/chohyee/p/7384772.html