单例模式

来源:互联网 发布:isis软件安装 编辑:程序博客网 时间:2024/06/05 13:23
第一种形式:懒汉式,也是常用的形式。
public class SingletonClass{
    private static SingletonClass instance=null;
    public static synchronized SingletonClass getInstance()
    {
        if(instance==null)
        {
               instance=new SingletonClass();
        }
        return instance;
    }
    private SingletonClass(){
    }
}

第二种形式:饿汉式
  
    private static final Singleton instance = new Singleton();
    private Singleton(){
        //do something
    }
    
    public static Singleton getInstance(){
        return instance;
    }
}

第三种形式: 双重锁的形式。
public class Singleton{
    private static Singleton instance=null;
    private Singleton(){
        //do something
    }
    public static Singleton getInstance(){
        if(instance==null){
            synchronized(Singleton.class){
                if(instance==null)
{
  instance=new Singleton();
                }
            }
        }
        return instance;
    }
}



0 0
原创粉丝点击