对于下面这个类
public class Bank(){
private Bank();
private static Bank instance = null;
public static Bank getInstance(){
if(instance == null){
instance = new Bank();
}
return instance;
}
}
//懒汉式单例模式
这是一个懒汉式的单例模式,懒汉式的单例模式相对于饿汉式单例模式有一个问题,就是懒汉式的单例模式需要考虑线程的安全问题
比如,如果两个线程同时进入getInstance方法,instance就会被赋值两次,这就是线程不安全的
所以,需要使用同步代码块或者同步方法
public class Bank(){
private Bank();
private static Bank instance = null;
public static synchronized Bank getInstance(){
if(instance == null){
instance = new Bank();
}
return instance;
}
}
//懒汉式单例模式