设计模式之Java中的单例模式

来源:互联网 发布:paparecipe软件可靠吗 编辑:程序博客网 时间:2024/05/16 19:49
import java.util.Scanner;/** * Created by cuboo on 2016/10/13. */public class test {    public static void main(String agrs[]){           singleMode s = singleMode.getInstance();//获得一个实例           s.run();           singleMode s1 = singleMode.getInstance();//获得是上一个实例,并非一个新的实例           s1.run();    }}class singleMode{    private boolean Empty;    //创建一个私有全局对象    public static singleMode instance;    //优化2:解决synchronized的资源消耗    //public static singleMode instance = new singleMode();    //私有化构造方法,防止外部创建实例    private singleMode(){         Empty = true;    }    //内部创建一个单列模式的实例对象供外部访问    //优化1:加入synchronized同步锁防止多线程造成实例化多个对象    public static synchronized singleMode getInstance(){        if (instance == null){            synchronized (singleMode.class){ //优化3最优 适合频繁调用                if (instance == null){                    instance = new singleMode();                }            }        }        return instance;    }    public  void run(){        if (Empty){            System.out.println("机器正在运行中");        }else {            System.out.println("机器空闲可以使用");        }    }}

0 0
原创粉丝点击