饿汉式
public class A{
private A(){}
private static A instance = new A();
public static A getInstance(){
return instance;
}
}
懒汉式
//线程不安全的
public class A{
private A(){}
private static A instance = null;
public static A getInstance(){
if(instance == null)
instance = new A();
else
return instance;
}
}
//线程安全的
public class A{
private A(){}
private static A instance = null;
public static A getInstance(){
if(instance == null){
synchronized(A.class){
if(instance == null)
instance = new A();
}
}
return instance;
}
}