纵使悲伤也是情|

憨憨BEEA

园龄:3年4个月粉丝:8关注:1

2022-07-21 16:45阅读: 55评论: 0推荐: 0

单例设计模式

单例模式:

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例。

具体的代码实现:

饿汉式:

class Bank {
    //饿汉式
    //1.私有化的构造器
    private Bank() {

    }

    //2.内部创建类的私有的对象
    //4.对象也必须是是静态的
    private static Bank instance = new Bank();

    //3.提供一个公共的静态方法,返回类的对象

    public static Bank getInstance() {
        return instance;
    }
}

懒汉式:

class Order {
    //懒汉式
    //1.私有化类的构造器
    private Order() {

    }

    //2.声明类的私有的对象,但是不初始化
    //4.此对象也必须是是静态的
    private static Order instance = null;


    //3.提供一个公共的静态的方法
    public static Order getInstance() {
        if (instance != null) {
            instance = new Order();
        }
        return instance;
    }
}

解决线程安全问题的懒汉式:

class Bank{
    private Bank(){}
    private static Bank instance = null;
    public static Bank getInstance(){
        //方式一:效率稍差
//        synchronized (Bank.class) {
//            if(instance == null){
//                instance = new Bank();
//            }
//            return instance;
//        }
        //方式二:效率更高
        if(instance == null){
            synchronized (Bank.class) {
                if(instance == null){
                    instance = new Bank();
                }
            }
        }
        return instance;
    }
}

本文作者:hanhanz

本文链接:https://www.cnblogs.com/hanhanz/p/16502527.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   憨憨BEEA  阅读(55)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起