剑指offer——实现singleton模式
题目描述:设计一个类,我们只能生成该类的一个实例。
题目解析:只能生成类的一个实例,就是实现了Singleton模式,在常用的模式中,单例模式是唯一一个能够用短短几十行代码完整实现的模式。
(1)//饿汉式
public class Single{
private Single(){}
private static Single s = new Single();
public static Single Instance{
return s;
}
}
(2)//懒汉式
public class Single{
private Single(){}
private static Single s = null;
public static Single Instance{
if(s==null){
s = new Single();
}
return s;
}
}
(3)//懒汉式的升级——延迟加载
public class Single{
private Single(){}
private static Single s = null;
public static Single{
Lock(s){
if(s==null){
s = new Single();
}
}
return s;
}
}