懒汉式(线程不安全):比较少用;
饿汉式和双检锁:安全
静态内部类 :实现 lazy loading 效果
枚举方式:反序列化创建对象
1、懒汉式
public class Pater {
private static Pater instanse;
public Pater() {}
public static Pater getInstanse(){
if(instanse==null){
instanse=new Pater();
}
return instanse;
}
}
2.饿汉式
public class Pater {
private static Pater instanse=new Pater();
public Pater() {}
public static Pater getInstanse(){
return instanse;
}
}
3、双检锁
public class Pater {
private static Pater instanse;
public Pater() {}
public static Pater getInstanse(){
if(instanse==null){
synchronized (Pater.class){
if(instanse==null){
instanse=new Pater();
}
}
}
return instanse;
}
}
4、静态内部类
public class Pater {
private static class Singlepater{
private static final Pater INSTANSE=new Pater();
}
public Pater() {}
public static final Pater getinstanse(){
return Singlepater .INSTANSE;
}
}
5.枚举类型
public enum Pater1{
INSTANSE;
}
网友评论