大飞

大飞 关注TA

挑战一切!

大飞

大飞

关注TA

挑战一切!

  •  世界的顶端
  • 混口饭吃
  • 写了333,609字

最近回复

该文章投稿至Nemo社区   Java  板块 复制链接


设计模式一 单例模式

发布于 2017/06/09 20:33 1,737浏览 0回复 762

为什么使用单例模式?

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

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

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

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

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地址

点赞(0)
点了个评