饿汉模式
class Single{
privae static final Single s=new Single();
private Single(){
}
public static Single getIntstance(){
return s;
}
}
懒汉模式
class Single {
private staic Single s=null;
private Single(){
}
public static Single getIntstance(){
if(s==null){
synchronized(Single.class){
if(s==null){
s=new Single();
}
}
}
return s;
}
懒汉模式如果是多线程访问,会每次判断锁,性能下降可以使用双重判断来提高性能。
懒汉式延迟加载实例,但是也会出现安全问题,我们可以通过同步方法或者同步代码块的方法。锁属于该对象的字节码