chenyan1397

面试题:线程安全的单例模式

只需要同步一次,但是这种方法在JDK1.2的版本中会出现错误,会被当作垃圾给回收掉

public class Singleton{ 

private static Singleton instance=null; 

private Singleton(){} 

public static Singleton getInstance(){ 

if(instance==null){ 

synchronized(Singleton.class){ 

instance=new Singleton(); 

return instance; 


最早从google的一个叫lee的人那里学来的,现在基本都这样写

public class Singleton{

static class SingletonHolder{

  static Singleton instance=new Singleton();

}


public static Singleton getInstance(){

  return Singleton.instance();

}

}


我是这样写的 嘎嘎 华育国际教的

public class Singleton {  

      

    private Singleton() {}  

    private static Singleton instance = null;  

  

    public static Singleton getInstance() {  

        if(instance == null) {  

            instance = new Singleton();  

        }  

        return instance;  

    }  

}  

评论

热度(2)