07.java设计模式之单例模式
单例就是为了保证每次访问对象的时候都是同一个对象。
1.饿汉式
/**
* 饿汉式
*/
public class Singletone {
private static final Singletone singletone = new Singletone();
private Singletone(){ }
public static Singletone getSingletone() {
return singletone;
}
}
2.懒汉式
public class Singletone {
private static Singletone singletone = null;
private Singletone(){ }
public static Singletone getSingletone() {
if (singletone == null){
singletone = new Singletone();
}
return singletone;
}
}
3.双重加锁式 这个有空再仔细说为啥要双重加锁
public class Singletone {
private static Singletone singletone = null;
private Singletone(){ }
public static Singletone getSingletone() {
if (singletone == null){
synchronized (Singletone.class){ //加锁
if (singletone == null){
singletone = new Singletone();
}
}
}
return singletone;
}
}
浙公网安备 33010602011771号