单例模式

Java内存模型的抽象示意图:

所有单例模式都有一个共性,那就是这个类没有自己的状态。也就是说无论这个类有多少个实例,都是一样的;然后除此者外更重要的是,这个类如果有两个或两个以上的实例的话程序会产生错误。

非线程安全的模式

public class Singleton {  private static Singleton instance;  private Singleton(){
  }  public static Singleton getInstance() {    if (instance == null) //1:A线程执行
      instance = new Singleton(); //2:B线程执行
    return instance;
  }
}

普通加锁

public class SafeLazyInitialization {    private static Singleton instance;    public synchronized s
        
		

网友评论