java单例模式(双重检查加锁)的原因

public class Singleton{  
   private static Singleton instance = null;//是否是final的不重要,因为最多只可能实例化一次。  
   private Singleton(){}  
   public static Singleton getInstance(){  
       if(instance == null){  
           //双重检查加锁,只有在第一次实例化时,才启用同步机制,提高了性能。  
           synchronized(Singleton.Class){  
               if(instance == null){  
                   instance = new Singleton();  
               }  
           }  
       }  
       return instance;  
   }  

 双重检查加锁,只有在第一次实例化时,才启用同步机制,提高了性能。 

猜你喜欢

转载自www.cnblogs.com/ganchuanpu/p/9210703.html