设计模式-单例模式

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了设计模式-单例模式脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

设计模式:

​ 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格以及解决问题的思考方式,设计模式免去了我们自己再去思考和摸索。就像经典的棋谱,对于不同的棋局我们使用不同的棋谱。

​ 创建型模式:工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式

​ 结构型模式: 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式

​ 行为型模式:策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式 备忘录模式 状态模式 访问者模式 中介者模式 解释器模式

单例设计模式:

​ 类的单例设计模式:采取一系列的方法保证整个软件系统中,对某个类只能 存在一个对象实例,并且该类只提供一个取得该对象实例的方法。

​ 具体操作:将该类的构造器设置为PRivate,通过类的静态方法获取该类的 对象,静态方法使用的该类对象的变量也要设置为静态的

饿汉式:

public class Mytest01 {
    public static void main(String[] args){
        Bank bank1=Bank.getInstance();
        Bank bank2=Bank.getInstance();
        System.out.println(bank1==bank2);
    }
}
class Bank{
    private static Bank instance=new Bank();
    private Bank(){

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

}

懒汉式:

public class MyTest01 {
    public static void main(String[] args){
        Bank bank1=Bank.getInstance();
        Bank bank2=Bank.getInstance();
        System.out.println(bank1==bank2);
    }
}
class Bank{
    private static Bank instance;
    private Bank(){

    }
    public static Bank getInstance(){
        if(instance==null){
            instance=new Bank();
        }
        //instance=new Bank();
        return instance;
    }

}

其实懒汉式可以延迟对象的创建,只有到使用的时候才会创建;饿汉式类一被在加载就自动创建了。

饿汉式天生就是线程安全的。懒汉式其实存在线程不安全的情况。比如说我有两个线程,第一个第一次调用getInstance,所以instance是null,他去执行new的时候,线程堵塞了,第二个线程也去调用getInstance,此时这两个线程都会进行new操作,就产生了线程不安全

应用:java.lang.Runtime典型的单例模式

​ 网站的计数器

​ 应用程序的日志应用

数据库连接池

​ 读取配置的类

​ Application入口程序

​ windows中的任务管理器

​ windows中的回收站

脚本宝典总结

以上是脚本宝典为你收集整理的设计模式-单例模式全部内容,希望文章能够帮你解决设计模式-单例模式所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。