精选圈子榜单优站
跟我一起AI炒ETF
赚大钱赚大钱赚大钱

设计模式一 单例模式


为什么使用单例模式?

第一、控制资源的使用,通过线程同步来控制资源的并发访问;

第二、控制实例产生的数量,达到节约资源的目的。

第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。

最佳单例模式:双重校验锁单例模式

package com.example.fwms.designmode;

/**
 * Created by FWMS on 2017/6/9.
 */

public class Singleton {
    private volatile static Singleton singleton;

    /**
     * 必须私有化构造方法
     */
    private Singleton() {

    }

    public static Singleton getSingleton() {
        if (singleton == null) {
            synchronized (Singleton.class) {//同步锁 保证线程安全
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }

    public String getText(){
        return "我是双重校验锁单例模式";
    }
}

GitHub地址


  • 若文章侵犯了您的权益,请联系我们进行处理。

  • 2017-06-09
  • 2249阅读
评论