多线程下的单例
//饿汉式:不存在安全隐患。
class Single{
private static final Single s = new Single();//为什么加这个final,感觉加不加区别不大,私有化构造函数,不就是已经保证对象的唯一性了。因为final修饰的变量是一个常量,只能赋值一次?
private Single(){}
public static Single getInstance(){
return s;
}
}
//懒汉式
class Single2{
private static Single2 s1 = null;
private Single2(){}
public static Single2 getInstance(){
if(s1==null){
synchronized(Single2.class){
if(s1==null)
s1 = new Single2();
}
}
return s1;
}
}
|