更好的单例(Singleton)实现方式

    技术2022-05-11  78

    今天从网上看到一个蛮好的Singleton模式的实现方式下面是经典的实现方式,使用Lazy load方式。 public   class  Singleton  static Singleton instance;  public static synchronized Singleton getInstance() {    if (instance == null)      instance == new Singleton();    return instance;  }} synchronized关键字加在getInstance上,也就是说每次调用getInstance都会收到synchronized的影响。下面是Bob Lee想出来的一种新办法。 public   class  Singleton  {  static class SingletonHolder {    static Singleton instance = new Singleton();  }  public static Singleton getInstance() {    return SingletonHolder.instance;  }} 这种方式更优雅,并且减少了synchronized的影响。  

    最新回复(0)