Android进阶之路设计模式Java设计模式

单例设计模式

2019-08-13  本文已影响0人  OneXzgj

简介:
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。

一、饿汉式

    private static final CEO ceo=new CEO();

    private CEO(){
    }

    public static CEO getCeo(){
        return ceo;
    }

二、懒汉式

/**
 * 懒汉CEO,方法是加锁的,所以耗时比较严重
 */
public class LHCEO {
    private static LHCEO instance;

    private LHCEO(){

    }


    public static synchronized LHCEO getInstance(){
        if (instance==null){
            instance=new LHCEO();
        }
        return instance;
    }

}

三、DCL实现单例

  private static LASTCEO instance=null;

    private LASTCEO(){
    }


    public static LASTCEO getInstance(){
        if (instance==null){
            synchronized (LASTCEO.class) {
                if (instance==null)
                instance = new LASTCEO();
            }
        }
        return instance;
    }

三、优缺点比较

懒汉式的比饿汉式的实例线程安全,但是效率低,而DCL实现方式则是2种方式的结合,第一次创建的时候回比较慢,后期利用效率高。

上一篇 下一篇

猜你喜欢

热点阅读