第一种
public class SingtenDemo1 {
private volatile static SingtenDemo1 singleton;
private SingtenDemo1 (){}
public static SingtenDemo1 getSingleton() {
if (singleton == null) {
synchronized (SingtenDemo1.class) {
if (singleton == null) {
singleton = new SingtenDemo1();
}
}
}
return singleton;
}
}
第二种
public class SingtenDemo2 {
private static SingtenDemo2 instance = null;
static{
instance = new SingtenDemo2();
}
private SingtenDemo2(){}
public static SingtenDemo2 getInstance(){
return instance;
}
}
第三种
public enum SingtenDemo {
INSTANCE;
}
第三种单例模式默认支持序列化和反序列化.