class Single
{
private static Single s=null; //创建一个私有并静态的本类对象
private Single(){}; //建立一个私有的构造方法,初始化对象
public static Single getInstance() //建立共有并静态的返回本类对象的方法
{
if(s==null) //懒汉式,先判断再执行,synchronized锁定只会创建一次。
{
synchronized (Single.class)//懒汉式多线程容易出问题 ,加双重判断解决了这个问题
{
if(s==null)
s=new Single();
}
}
return s;
}
}
class Test4
{
public static void main(String[] args)
{
Single s1=Single.getInstance();
}
}
|
|