懒汉式
注意:懒汉式存在线程安全问题,可以用如下方法解决
class Singer{
private Singer{ //私有化构造器
}
private static Singer s;//私有静态属性
public static Singer getInstance(){
if(s==null){
synchronized(Singer.class){//加锁,为了线程安全
if(s==null){
s=new Singer();
}
}
return s;
}
饿汉式
class Singer{
private Singer(){
}
private static Singer s=new Singer();
public static Singer getInstance(){
return s;
}
}