设计模式——单例模式
原创
©著作权归作者所有:来自51CTO博客作者蒋劲豪7的原创作品,请联系作者获取转载授权,否则将追究法律责任
/**
* 饿汉式
*/
public class PreLoadSingleton {
public static PreLoadSingleton instance = new PreLoadSingleton();
private PreLoadSingleton() {
}
public static PreLoadSingleton getInstance() {
return instance;
}
}
/**
* 懒汉式
*/
public class LazyLoadSingleton {
/**
* volatile 确保创建对象的顺序性
*/
private static volatile LazyLoadSingleton instance = null;
private LazyLoadSingleton() {
}
public static LazyLoadSingleton getInstance() {
if (instance == null) {
synchronized (instance) {
if (instance == null) {
instance = new LazyLoadSingleton();
}
}
}
return instance;
}
}