据说面试时问懒汉式的比较多,实际应用时用饿汉式比较多?
//懒汉式
//当使用多线程并发操作时,这种方法有可能无法保证对象的唯一性
class Single //加载类时,没有创建对象,只有调用了getInstance方法,才会创建对象
{ //延迟加载方式
private static Single s = null;
private Single(){};
public static Single getInstance()
{
if(s==null)
s = new Single();
return s;
}
}
//饿汉式
class Single2 //加载类时,创建对象
{
private static Single2 s = new Single2();
private Single2(){};
public static Single2 getInstance()
{
return s;
}
}