设计模式的使用,很多情况下都是锦上添花的,先来学习一下
1,饿汉式(最基本)
public class Emperor{
private static final Emperor emperor = new Emperor();
private Emperor(){}
public static Emperor getEmperor(){
return emperor;
}
}
2,懒汉式(不推荐使用,初次加载时间会长)
public class Emperor{
private static Emperor emperor;
private Emperor(){}
public static synchronized Emperor getEmperor(){
if(emperor == null){
emperor = new Emperor();
}
retrue emperor;
}
}
3,DCL式(最常用的,不占资源,线程安全)
public class Emperor{
private static Emperor emperor;
private Emperor(){}
public static synchronized Emperor getEmperor(){
if (emperor == null){
synchronized (Emperor.class){
if(emperor == null){
emperor = new Emperor();
}
}
}
retrue emperor;
}
}
4,静态内部类(最安全的写法,在性能要求极高的情况下)
public class Emperor{
private Emperor(){}
public static Emperor getEmperor(){
return EmperorHordle.emperor ;
}
private static final EmperorHordle(){
private static final Emperor emperor = new Emperor();
}
}