"黑马程序员”银行业务调度系统学习日志

从零开始:TexLive(Latex)安装与配置全指南 本文提供了一份详尽的TexLive(Latex)安装与配置全指南,旨在帮助用户从零开始快速搭建LaTeX工作环境。内容涵盖从镜像下载、安装步骤详解、环境验证到高效编辑器(如VS Code)配置,并特别强调了中文排版支持与宏包管理,确保用户能顺利处理学术论文等专业文档的排版需求。 阅读详情


    ----------------- android培训、java培训、期待与您交流! ----------------------

对银行业务需求的分析:

一、有三种对应类型的客户:VIP客户,普通客户,快速客户,异步随机生成各种类型的客户,各类型客户在其对应窗口按顺序依次办理业务。

    1、每个客户其实就是由银行的一个取号机器产生号码,所以,我们要有一个号码管理器对象,让这个对象不断地产生号码,就等于随机生成了客户。

     2、由于有三类客户,每类客户的号码编排都是完全独立的,所以,本系统一共要产生三个号码管理器对象,各自管理一类用户的排队号码,这三个号码管理器对象统一由一

一个号码机器进行管理,这个号码机器在整个系统中始终有一个,所以,它要被设计成单例。

      3、异步随机生成各种类型的客户,生成各类型用户的概率比例为:

          VIP客户:普通客户:快速客户=1:6:3

       4、客户办理业务所需的时间有最大值和最小值,在该范围随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间最小

       5、各类型客户在其对应窗口按顺序依次办理业务

       6、当VIP窗口和快速业务窗口没有客户等待办理业务的时候,这两个窗口可以处理普通客户的业务,而一旦有对应的客户等待办理业务的时候,则优先处理对应客户的业务。

       7、随机生成客户时间间隔以及业务办理时间最大值和最小值自定,可以设置

二、各类型客户在其对应窗口按顺序依次办理业务,准确地说,应该是窗口依次叫号。

      1、各个窗口怎么知道叫哪一个号了呢?他一定是问的对应的号码管理器,即服务窗口每次找号码管理器获取当前要备服务的号码。

三、类的逻辑关系:

   1.NumberManager类:

           1.1 定义一个用于存储上一个客户号码的成员变量和用于存储所有等待服务的客户号码的队列集合。

            1.2定义一个产生新号码的方法和获取马上要为之服务的号码的方法,这两个方法被不同的线程操作了相同的数据,所以,要进行同步。

   2.NumberMachine类

            2.1定义三个成员变量分别指向三个NumberManager对象,分别表示普通客户,快速客户和vip客户

    3.ServiceWindow类

             3.1定义一个窗口类,用来不停的向号码机器取号码

以下是关系图:                       

                                     


下面是关系图代码的实现:

下面类是号码管理器的类,可以生成新号码和取出号码,用集合去操作:

public class NumberManaget

//定义上一个号码

       private int lastNumber=1;

        private List<Integer> queueNumber=new ArrayList<Integer>();

 //生成号码,必须定义同步,防止并发

        public synchronized Integer generateNewManager(){

             queueNumber.add(lastNumber);

             return lastNumber++;

              }

//定义同步的取走号码方法,返回取走的第一个号码,返回Integer防止空指针异常

        public synchronized Integer fetchServiceNumber(){

                  return queueNumber.remove(0);

        }

}


以下号码机器的代码,他返回三个不同类型的号码管理器:

//号码机器有三个号码管理器,因为该机器只有一个,必须声明为单例模式

public class NumberMachine{

 //普通客户管理器

      private NumberManager commonManager=new NumberManager();

//快速客户管理器

       private NumberManager expressManager=new NumberManager();

//vip客户管理器

       private NumberManager vipManager=new NumerManager();

      //.........此处省去三个管理器的get方法

          private NumberMachine(){}//声明私有的构造方法,不能直接new对象

        //声明私有静态的实例对象和静态的方法,用于构造单例模式

          public static NumberMachine getInstance(){

                    return instance;

           }

        private Static NumberMachine instance=new NumberMachine();

}



以下是服务窗口类的实现

    public class ServiceWindow(){

  //定义窗口的类型,用枚举定义

               private CustomerType type=CustomerType.COMMON;

//定义窗口的序号

                private int windowId=1;

               //此处省略以上两个参数的set方法..,,

                public void start(){

       //用线程池的原理生成一个线程

                           Executors.newSingleThreadExecutor().execute(new Runnable(){

                                 public void run(){

                                           while(true){

               //switch支持枚举类型,在case直接跟上枚举的名字就行了,比较智能

                                                    switch(type){

                                                             case COMMON:

                      //窗口的名字

                                                            String windowName="第"+windowId+"号"+type+"窗口";

                                                             //获取号码

                                                            Integer number= NumberMachine   NumberMachine.getInstance().getCommonManager().fetchServiceNumber();

                                                         //如果有客户就进行服务      

                                                            if(number!=null){

                                                                        /*

                                                                                此处是处理该number客户的代码,需要额外定义一个类,声明服务的最大时间和最小时间

                                                                         */

                                                                 }   

                                                             else{

                                                                            System.out.print("没有取到任务,先休息1秒钟");           

                                                 break;  

   //此处是处理窗口是VIP和快速客户的代码.....

                                     }

                        }

          }

});   

            }   

     }                  

}

 //定义枚举来声明服务窗口的类型

                    public enum CustomerType{

                               COMMON,EXPRESS,VIP;

 //通过调用tostring方法来拼接窗口的名字

                                public String toString(){

                                       switch(this){

                                            case COMMON: 

                                                    return "普通";

                                              case EXPRESS:

                                                      return "快速";

                                               case VIP:

                                                        return name();

                                        }

                                               return null;

                        }

}

 以下代码是实习测试的代码 :

 //定义五个普通客户窗口,因为默认的是普通客户窗口

     for(int i=1;i<5;i++){

                ServiceWindow commonWindow=new ServiceWindow();

                 commonWindow.setWindowId(i);

 //启动窗口

                  commonWindow.start();

            }

  //定义快速客户窗口

           ServiceWindow expressWindow=new ServiceWindow();

           expressWindow.setType(CustomerType.EXPRESS);

           expressWindow.start();

//定义VIP客户窗口

           ServiceWindow vipWindow=new ServiceWindow();

            vipWindow.setType(CustomerType.VIP);

           vipWindow.start();

//用线程池来模拟生成普通客户和快速客户以及VIP客户

           Executors.newScheduledThreadPool(1).scheduleAtFixedRate(...)//可以循环的生成客户


 ---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.youkuaiyun.com/heima




微信小程序 - 实现仿小红书轮播图组件功能,类似小红书笔记页面图片展示播放效果,微信小程序仿小红书幻灯片轮播支持视频播放、图片预览,自动适应图片或视频大小可左右滑动切换(小程序精美轮播图,丝滑切换) 微信小程序,轮播图组件,微信小程序仿小红书轮播图,小红书轮播图仿造,微信小程序轮播图,微信小程序幻灯片,微信小程序高仿小红书轮播图实现,小程序实现类似小红书一样的轮播图组件,轮播图插件,精致轮播图,精美丝滑流畅切换的轮播图,轮播图组件,小红薯轮播图,关于小红书的小程序不同数量的轮播图,展示不一样的轮播指示点的实现,微信小程序仿小红书图片轮播,开发微信小程序模仿小红书,高仿小红书Banner的指示器,小红书小程序笔记详情轮播图指示点的随图片数量的变化动态变化,微信小程序swiper轮播图,js轮播图,html 阅读详情

相关推荐

AMCL实战:如何用2D激光雷达在ROS中实现稳定重定位(附参数调优指南)

本文深入解析了在ROS中使用2D激光雷达实现稳定AMCL重定位的实战技巧与参数调优指南。针对粒子发散、位姿跳变等常见问题,文章从算法核心原理出发,系统讲解了初始化、粒子滤波、运动与观测模型等关键参数的分类与调优策略,并提供了一套经过验证的调优框架,帮助开发者提升移动机器人在已知地图环境下的定位鲁棒性和稳定性。

sql99的博客 134

黑马程序员——黑马学习日志之二十六 银行业务调度系统

------- android培训、java培训、期待与您交流! ---------- ------- android培训、java培训、期待与您交流! ----------

s7643的专栏 486

Plant simulation、Flexsim、Automod、Emulate3D、VisuaComponent仿真软件对比

E3D在行业内以展示效果好,入门阶段易学易用人机界面友好,电控仿真连接方便不需要借助其他第三方软件,E3D平台开放度较高用户DIY程度强,数据分析功能针对要评定对象的KPI的可根据项目或者使用者需求进行评定。3.支持导入导出多种格式的文件,比如dwg、dxf、fbx、obj、3ds、step、stp、iges、skp、stl、wrl、 bmp 等等。3.软件自带模型组件库程序代码开放,用户可以引用、修改、拷贝,按照自己的逻辑修改模型,或者创建模型并保存到组件库与别人共享。3. 支持导出布局图片。

qq_43342303的博客 3578

黑马程序员—7k月薪面试题之银行业务调度系统

银行业务调度系统需求: 模拟实现银行业务调度系统逻辑,具体需求如下:   Ø  银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。   Ø  有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。   Ø  异步随机生成各种类型的客户,生成各类型用户的概率比例为:           VIP客户:普

welcome to my blog,thank you! 1418

台达PLC使用RS485Modbus指令通信

台达PLC,RS485,Modbus RTU,从站梯形图,0X01,0X02,0X05,CRC校验

lilililimu的博客 1万+

RSL-RL:开源人形机器人强化学习控制研究库

摘要:RSL-RL是一款专为机器人领域设计的开源强化学习库,其核心特点是紧凑性、可修改性和高性能。该库聚焦PPO和BC两大主流算法,并整合了对称性增强、好奇心驱动等机器人专用技术。通过纯GPU训练优化,RSL-RL在大型仿真中展现出卓越的吞吐性能,已成功应用于腿足运动控制、全身协调等多个机器人研究场景。其轻量级架构包含运行器、算法和网络三个可独立修改的组件,支持TensorBoard等主流日志工具。该框架特别适合需要快速原型开发的机器人研究者,但不适用于通用机器学习基准测试。开源地址:https://git

2506_90492529的博客 1674

黑马程序员 java提高——张孝祥银行业务调度系统

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 银行业务调度系统 一:银行业务调度系统的项目需求分析: 模拟实现银行业务调度系统逻辑,具体需求如下:  Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为V

u012562441的专栏 923

【现代人形机器人:从物理建模到大模型驱动的控制与学习】第1章 机器人建模回顾

本章建立读者进行后续控制 / 优化 / 学习工作的数学与计算基础。内容分为三大块:刚体运动学:位姿表示、坐标变换、旋转参数与李代数/李群(指数映射、twist)多关节机构的正/逆运动学:DH 与 POE 两种建模、雅可比矩阵推导、数值/解析逆解方法与奇异性问题约束动力学:拉格朗日公式、牛顿—欧拉递归算法、接触/冲击模型、受约束系统的方程(拉格朗日乘子与互补性条件)每一节同时给出与练习题。假设读者已具备线性代数(矩阵、特征分解、SVD)、多变量微积分与基础力学(牛顿第二定律)知识。

u012133341的博客 185

黑马程序员_银行业务调度系统

------- android培训、java培训、期待与您交流! ---------- 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下:  银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号 窗口为快速窗口,6号窗口为VIP窗口。  有三种对应类型的客户:VIP客户,普通客户,快速客 户(办理如交水电费、电话费之类业务的客户)。  异步随机生成各种类型的客

liubin504的专栏 681

大数据架构中的数据治理:元数据管理与数据血缘追踪实践

本文将聚焦大数据架构中数据治理的两大核心支柱——元数据管理与数据血缘追踪元数据管理的目标、类型与实施步骤(从需求分析到工具落地);数据血缘追踪的技术实现(静态解析、动态捕获、混合方案)与应用场景;如何将两者结合,构建完整的数据治理体系,并通过真实案例展示落地效果。元数据管理:定义了业务/技术/操作元数据,讲解了工具选型(如Apache Atlas)、采集(Hook/API)、存储(关系库+图数据库)、应用(数据发现、质量监控);数据血缘追踪。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 867

【Bug已解决】Codex 切换 model_provider 后历史会话消失的解决方案

方案适用场景推荐指数切回原 provider 验证排查的第一步,确认数据是否真的丢失⭐⭐⭐⭐⭐查看本地会话文件进一步确认数据完整性⭐⭐⭐⭐⭐查阅跨 provider 恢复命令官方是否提供了对应功能⭐⭐⭐使用社区辅助工具需要频繁切换 provider 的场景⭐⭐⭐定期备份配置目录任何场景下的通用保险措施⭐⭐⭐⭐切换后历史会话"消失"的本质是客户端的会话列表展示逻辑受当前活跃 provider 状态过滤,而不是原始数据文件被真正删除。

一键难忘的博客 5999

黑马程序员——————银行业务调度系统

------- android培训、java培训、期待与您交流! ---------- 模拟实现银行业务调度系统逻辑,具体需求如下:   Ø        银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。   Ø        有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。   Ø

u010408616的专栏 549

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

黑马程序员 Day11 银行业务调度系统

------- android培训、java培训、期待与您交流! -------- 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: Ø 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 Ø 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 Ø 异步随机生成各种类型

伊廷文 420

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

黑马程序员——java_银行业务调度系统

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1.      项目需求: 模拟实现银行业务调度系统逻辑: a)     银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 b)     有三种对应类型的客户:VIP客户,普通客户,

xyyancsd的专栏 679

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

黑马程序员--银行业务调度系统分析讲解及实现

银行业务调度系统 需求: 模拟实现银行业务调度系统逻辑,具体需求如下: 1、银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 2、有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 3、异步随机生成各种类型的客户,生成各类型用户的概率比例为:         VIP客户 :普通客户 :快速客

u011746071的专栏 1090

黑马程序员:银行业务调度系统

----------   android培训、java培训、期待与您交流! ---------- 业务需求    模拟实现银行业务调度系统逻辑,具体需求如下:       银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。       有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。

pp_hdsny的专栏 595

黑马程序员-银行业务调度系统

-------android培训、java培训、期待与您交流! ---------- 模拟实现银行业务调度系统逻辑,具体需求如下: 1、银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 2、 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 3、 异步随机生成各种类型的客户,生成各类型用户的概

NPP1015的专栏 709

<黑马程序员>破解月薪7K的面试题-银行业务调度系统

银行业务调度系统需求说明 模拟实现银行业务调度系统逻辑,具体需求如下: (1)银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 (2)有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 (3)异步随机生成各种类型

qq_17030037的专栏 559

黑马程序员_7k面试题之银行业务调度系统

1、 编写程序计算12+22+32+....+1002的和. 2、 从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如: 键盘输入6,打印6秒; 键盘输入60,打印1分; 键盘输入66,打印1分6秒; 键盘输入666,打印11分6秒; 键盘输入3601,打印1小时1秒 求斐波那契数列第n项,n 4、 编写一个函数,函数内输出一个字符串,并在主函数内调用它。 5、 定义一

学习笔记 451

黑马程序员--张老师--银行业务调度系统

------- android培训、java培训、期待与您交流! ----------

tototu的专栏 841

黑马程序员--java基础项目:银行业务调度系统

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 一、需求分析 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。

java888kankan的专栏 554

黑马程序员_银行业务系统

1、需求 模拟实现银行业务调度系统逻辑,具体需求如下: Ø  银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 Ø  有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。 Ø  异步随机生成各种类型的客户,生成各类型用户的概率比例为: Ø  VIP客户 :普通客户 :快速客户  =  1 :6 :3。

风的尾巴专栏 516

黑马程序员——银行业务调度系统学习日志

------- android培训、java培训、期待与您交流! ---------- 银行业务调度系统学习日志 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下:  银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。  有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费、电话费之类业务的客户)。  异步随机生成各

qq540795382的专栏 589

黑马程序员——Java面试题之银行业务调度系统

----------------------ASP.Net+Android+Unity开发、Java培训、期待与您交流! ----------------------

288
上一篇: “黑马程序员"交通灯管理系统学习日志
下一篇: "黑马程序员"张老师高新学习笔记(反射)
tangjinjava
博客等级 码龄16年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值