饿汉式
懒汉式
比较
线程安全的懒汉式(加入同步机制)
原始:
public class BankTest{
}
class Bank{
private Bank(){}//私有的构造器
private static Bank instance = null;//单例
public static Bank getInstance(){
if(instance == null)
instance = new Bank();
return instance;
}
}
加入同步机制,但效率不高:
public static synchronized Bank getInstance(){
if(instance == null)
instance = new Bank();
return instance;
}
改进:先判断,若对象已造好,直接return即可,不需要排队等待。
public static Bank getInstance(){
if(instance == null){
synchronized(Bank.class){
instance = new Bank();
}
}
return instance;
}