黄小华的个人网站
熬过无人问津的日子才有诗和远方!
设计模式之单例模式
class Singleton{
   private static Singletion instance;
    private Singletion();
    public Singletion getInstance(){
        if(instance==null){
            synchronsized(Singletion.Class){
           //为了在给当前对象上锁的过程中其他线程new对象 
           //所以在判断一次
                if(instance==null)

                    instance=new Singletion();
            }
        }
        return instance;
    }
}
双检锁,又叫双重校验锁(DCL Double Check Lock),综合了懒汉式和饿汉式两者的优缺点整合而成。  
看上面代码实现中,特点是在synchronized关键字内外都加了一层 if 条件  
判断,这样既保证了线程安全,又比直接上锁提高了执行效率,还节省了内存  
空间。