Android设计模式--推荐使用的两种单例模式

来源:互联网 发布:云网络 编辑:程序博客网 时间:2024/06/06 01:03

如果不是高并发,出于效率考虑推荐使用如下两种单例模式的写法。

1、两次判空实现单例

优点:资源利用率高,效率高。缺点:第一次加载时反应稍慢,由于JAVA内存模型的原因偶尔会失败。

public class Singleton {    private static Singleton instance=null;    //私有构造方法    private Singleton(){    }    public static Singleton getInstance(){        if(null==instance){            synchronized (Singleton.class){                if(null==instance){                    instance=new Singleton();                }            }        }        return instance;    }}

2、静态内部类实现单例

优点:可以确保线程安全,也能够保证单例对象的唯一性,同时延迟了单例的实例化。

public class Singleton {    //私有构造方法    private Singleton(){    }    public static Singleton getInstance(){        return SingletonHolder.instance;    }    private static class SingletonHolder{        private static final Singleton instance=new Singleton();    }}
1 0
原创粉丝点击