当前位置: 首页 > wzjs >正文

南京哪家网络公司做网站优化好长沙今日头条新闻

南京哪家网络公司做网站优化好,长沙今日头条新闻,政府网站建设指南,网站主机名1. 策略模式和工厂模式 https://mp.weixin.qq.com/s/RG-h7r69JyKUlBZylJJIFQ 在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。这就是…

1. 策略模式和工厂模式

https://mp.weixin.qq.com/s/RG-h7r69JyKUlBZylJJIFQ
在软件开发中也常常遇到类似的情况,实现某一个功能有多个途径,此时可以使用一种设计模式来使得系统可以灵活地选择解决途径,也能够方便地增加新的解决途径。这就是策略模式。

策略模式(Strategy Pattern),指的是定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。

从上面的示例可以看出,策略模式仅仅封装算法,提供新的算法插入到已有系统中,策略模式并不决定在何时使用何种算法。在什么情况下使用什么算法是由客户端决定的。

但是,上面还遗留了一个问题,那就是UserPayServiceStrategyFactory中用来保存所有的策略类的实例的Map是如何被初始化的?各个策略的实例对象如何塞进去的呢?

Spring Bean的注册
还记得我们前面定义的UserPayServiceStrategyFactory中提供了的register方法吗?他就是用来注册策略服务的。

接下来,我们就想办法调用register方法,把Spring通过IOC创建出来的Bean注册进去就行了。

这种需求,可以借用Spring种提供的InitializingBean接口,这个接口为Bean提供了属性初始化后的处理方法,它只包括afterPropertiesSet方法,凡是继承该接口的类,在bean的属性初始化后都会执行该方法。

只需要每一个策略服务的实现类都实现InitializingBean接口,并实现其afterPropertiesSet方法,在这个方法中调用UserPayServiceStrategyFactory.register即可。

这样,在Spring初始化的时候,当创建VipPayService、SuperVipPayService和ParticularlyVipPayService的时候,会在Bean的属性初始化之后,把这个Bean注册到UserPayServiceStrategyFactory中。

2、抽象类和接口

分为两个层次:语法层面和设计层面;
语法层面:接口是多继承,抽象类是单继承,
抽象类有构造方法,接口没有,
抽象类中可以有成员方法的具体实现细节,接口只能有抽象方法
成员变量
设计层面:抽象类是对事物的抽象,整体类,接口是针对一种行为规范,是部分类(行为)的抽象,
抽象类是模版设计,接口类是辐射式设计,如果增加一个方法,抽象类只需要改它本身,而对接口而言,继承该接口的所有实现类都需要改动。

3. websocket实现web消息推送(基于Java注解实现websocket服务终端)

添加链接描述

4. 分布式事务和分布式锁

目标不同
分布式事务旨在保证跨服务操作的ACID属性,确保所有操作要么全部成功,要么全部失败。
分布式锁旨在解决并发访问共享资源的问题,保证资源的互斥访问。
实现机制不同
分布式事务通常涉及到多个服务之间的协调和通信,可能需要使用复杂的协议来达成一致。
分布式锁则更加关注于资源访问的控制,通常通过锁的获取和释放来实现。
应用场景不同
分布式事务适用于需要跨服务进行数据一致性的场景。
分布式锁适用于保护单一资源免受并发访问的场景。

5. JUC(Java并发工具包)是Java提供的一个用于处理线程的工具包。

JUC(Java并发工具包)是Java提供的一个用于处理线程的工具包,它包含了多种常用的并发工具类,这些工具类可以帮助开发人员更加高效地编写多线程程序。下面将介绍一些JUC中的常用工具类:

CountDownLatch
CountDownLatch是一个同步工具类,用于协调多个线程之间的同步操作。它允许一个或多个线程等待其他线程完成各自的操作。CountDownLatch的构造函数接受一个整数参数,表示计数器的初始值。每个线程在完成自己的操作后,会调用CountDownLatch的countDown()方法,将计数器减一。当计数器减到0时,等待在CountDownLatch上的线程就可以恢复执行。

6. •并发和多线程关系紧密,多线程是实现并发编程的重要技术途径,通过创建多个线程并行执行任务,可以实现系统级别的并发运行。

•异步和多线程也是相互关联的,多线程编程中可以实现异步操作,例如一个线程执行IO操作(如网络请求)时不阻塞主线程,而是通过回调或Future机制在操作完成时通知主线程,这就是典型的异步编程场景。

区别:
•并发关注的是任务的执行方式,强调多个任务看起来同时运行的效果,而不论底层是如何实现的(可能是多线程、协程或者其他技术)。
•多线程特指在单一进程中同时运行多个执行线程的技术细节。
•异步关注的是任务执行的流程控制,强调任务之间互不影响,无需等待即可继续执行的特点,它既可以应用于单线程环境(如事件驱动编程),也可以应用于多线程环境。

7. 在 Java 中,锁机制是实现线程同步和并发控制的重要手段,它可以确保在多线程环境下对共享资源的安全访问。

http://www.dtcms.com/wzjs/288034.html

相关文章:

  • 企业解决方案ppt10页seo优化师就业前景
  • 遵义公司做网站找哪个公司好上海网络推广公司
  • 网站一般用什么工具做seo外包公司兴田德润
  • 协会网站方案百度官网首页入口
  • 陕西营销型网站建设宁波seo资源
  • 湛江建站程序短视频拍摄剪辑培训班
  • 宁波网站建设怎么样淘宝网络营销方式
  • 程序员 创业做网站seo点击排名器
  • 响应式网站什么意思怎样做好销售和客户交流
  • 网站建设在哪个软件下做googleseo排名公司
  • 榆林做网站上海十大营销策划公司排名
  • 海南美容网站建设营业推广策略
  • 西安网站开发公司定制百度商家平台登录
  • 接了做网站的单子流程提高工作效率心得体会
  • 做网站工资多少钱我想做网络推广
  • 旅游网站怎样做宣传qq推广引流网站
  • 杭州网站排名服务怎么创建一个网址
  • wordpress标签页固定连接以.html后缀结尾武汉seo主管
  • 二七区做网站网络宣传推广方法
  • 最专业的车网站建设企业邮箱怎么注册
  • 网站开发后端指什么合肥网络推广营销
  • 眉山企业网站建设浏览器网站进入口
  • 中纪委网站 两学一做seo提高网站排名
  • 网站程序免费下载seo提供服务
  • 商城网站设计说明书站长是什么级别
  • 展览 网站源码如何在百度上添加自己的店铺
  • 政府网站建设问题阿亮seo技术
  • 如何做移动端网站品牌定位
  • 网站建设栏目内容推广资讯
  • 怎么做非法网站网站怎么优化关键词