为什么使用单例模式?
第一、控制资源的使用,通过线程同步来控制资源的并发访问;
第二、控制实例产生的数量,达到节约资源的目的。
第三、作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程之间实现通信。
最佳单例模式:双重校验锁单例模式
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 "我是双重校验锁单例模式";
}
}