单例模式的写法(3种)
程序员文章站
2022-04-05 11:13:18
...
1.单例模式
让一个类所产生的对象只有唯一一个。其中三种方法中,第一种方法最有效率,第二种效率最差,第三种方法延迟加载,支持高。
恶汉
/**
* 单例模式
* @author acer
*/
public class Man {
private static Man m = new Man();
private Man() {
}
public static Man getMan() {
return m;
}
}
第二种方式 懒汉
public class Animal {
private static Animal a = new Animal();
private Animal() {
}
public synchronized static Animal getAnimal() {
if (a == null) {
a = new Animal();
}
return a;
}
}
第三种方式 安全模式
public class Woman{
private static Woman w=null;
private Woman(){}
public static Woman getWoman(){
if(w==null){
synchronized (Woman.class){
if(w==null){
w=new Woman();
}
}
}
return w;
}
}