美文网首页
单例模式

单例模式

作者: 842677250535 | 来源:发表于2016-10-14 13:31 被阅读0次

    定义: 确保一个类只有一个实例,并提供一个全局访问点。

    同步getInstance方法

    public class Singleton{

      private static synchronized Singleton uniqueInstance;

    private Singleton();

    public static Singleton getInstance(){

           if(uniqueInstance == null){

             uniqueInstance = new Singleton();

       } 

    return uniqueInstance;

      }

    }

    使用eagerly  create

    public class Singleton{

    private static Singleton uniqueInstance = new Singleton();

    private Singleton();

    public static Singleton getInstance(){

      return uniqueInstance;

    }

    }  

    使用double check

    public class Singleton{

    private static volatile  Singleton uniqueInstance;

    private Singleton();

    public static Singleton getInstance(){

    if(uniqueInstance == null){

    synchronized(Singleton.class){

    if(uniqueInstance == null){

    uniqueInstance = new Singleton();

    }

    }

    }

    return uniqueInstance;

    }

    }

    volatile: 

    相关文章

      网友评论

          本文标题:单例模式

          本文链接:https://www.haomeiwen.com/subject/zycgyttx.html