草庐IT

聊聊分布式服务下的八种异步实现方式

一、异步的八种实现方式1、线程Thread2、Future3、异步框架CompletableFuture4、Spring注解@Async5、SpringApplicationEvent事件6、消息队列7、第三方异步框架,比如Hutool的ThreadUtil8、Guava异步二、什么是异步?首先我们先看一个常见的用户下单的场景:什么是异步?在同步操作中,我们执行到 发送短信 的时候,我们必须等待这个方法彻底执行完才能执行 赠送积分 这个操作,如果 赠送积分 这个动作执行时间较长,发送短信需要等待,这就是典型的同步场景。实际上,发送短信和赠送积分没有任何的依赖关系,通过异步,我们可以实现赠送积分

每个程序员都必须知道的八种必须掌握数据结构

数据结构是一种在计算机中组织和存储数据的专门方法,使我们可以更有效地对存储的数据执行操作。数据结构在计算机科学和软件工程领域有着广泛而多样的使用范围。几乎所有已开发的程序或软件系统都在使用数据结构。此外,数据结构属于计算机科学和软件工程的基础知识。当涉及到软件工程面试问题时,这是一个关键话题。因此,作为开发人员,我们必须对数据结构有很好的了解。在这篇文章中,我将简要解释每个程序员都必须了解的8种常用数据结构。1、数组(Arrays)数组是一种固定大小的结构,可以容纳相同数据类型的项。它可以是整数数组、浮点数数组、字符串数组甚至数组的数组(例如二维数组)。数组是有索引的,这意味着可以进行随机访问

接口请求重试的八种方法,你用哪种?

大家都知道老三是做跨境业务的,在跨境业务中,可能第三方的服务器分布在世界的各个角落,所以请求三方接口的时候,难免会遇到一些网络问题,这时候需要加入重试机制了,这期就给大家分享几个接口重试的写法。重试机制实现8种重试机制实现1.循环重试这是最简单也最直接的一种方式。在请求接口的代码块中加入循环,如果请求失败则继续请求,直到请求成功或达到最大重试次数。示例代码:intretryTimes=3;for(inti=0;i这段简单的示例代码里,直接用了一个for循环来进行重试,最大重试次数设置为3次。同时在发生异常的时候,为了避免频繁请求,使用Thread.sleep()加一个适当的延迟。2.使用递归结

STM32 (三)GPIO的八种模式及其原理

一、GPIO简介GPIO就是通用I/O(输入/输出)端口,是STM32可控制的引脚。STM32芯片的GPIO引脚与外部设备连接起来,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。二、GPIO工作模式.1.四种输入模式  GPIO_Mode_IN_FLOATING浮空输入模式  GPIO_Mode_IPU上拉输入模式  GPIO_Mode_IPD下拉输入模式  GPIO_Mode_AIN模拟输入模式2.四种输出模式  GPIO_Mode_Out_OD开漏输出模式  GPIO_Mode_Out_PP推挽输出模式  GPIO_Mode_AF_OD复用开漏输出模式  GPIO_Mode_A

2023年物联网将如何促进八种技术和设备的发展

在过去的三十年,技术发展迅速。全球人口的增长意味着对商品和服务的更高需求。企业找到了提高产量和质量控制的方法,例如通过物联网技术进行改进。物联网已经在许多行业得到应用,尤其是制造业。这些设备提高了安全性,提高了产量,并帮助专家更好地了解技术。(1)集装箱过去几年,航运企业一直存在争议。供应链中断导致全球各地频繁出现延迟、积压和其他问题。数据表明,供应商的交货时间在2020年和2021年显著增加,特别是对于需要机械和技术设备的公司。物联网可以为航运和物流企业提供提高效率的解决方案。例如,仓库工作人员可以使用物联网设备跟踪货物,使企业能够看到包裹的状况并提高供应链的可见性。当需要速度来按时完成订单

HTTP/1.1协议中的八种请求

2023年8月29日,周二晚上目录概述八种请求GET请求POST请求PUT请求PATCH请求DELETE请求HEAD请求OPTIONS请求TRACE请求概述八种请求 HTTP/1.1协议中定义了8种常用的请求方法,分别是:1.GET用途:请求指定的页面信息,并返回实体主体。例子:获取一个网页、图片等静态内容。2.POST 用途:向指定资源提交数据进行处理(例如提交表单或上传文件)。例子:新增数据、发送评论。3.PUT用途:向指定资源位置上传其最新内容。例子:更新已有资源。4.PATCH 用途:更新资源的部分内容。例子:修改用户个人资料中的一部分字段。5.DELETE用途:删除指定资源。例子:删

Selenium元素定位的八种方法(建议收藏)

自动化一般需要四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告。Selenium提供8种元素定位的方法:id,name,classname,linktext,xpath,cssselector,tagname,partiallinktex。这八种元素定位方法用python语言表示为:find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()find_eleme

云原生技术的原则、模式和趋势: 三大原则、八种模式和十二条设计原则

作者:禅与计算机程序设计艺术1.简介2020年是云计算、容器技术、微服务架构等领域的元年。为了应对快速变化和不断壮大的系统规模,我们需要关注“云原生”(CloudNative)技术。“云原生”技术是一种崭新的架构设计理念和技术方法论,旨在构建可扩展、可靠且弹性的应用系统。借助云原生技术,我们可以轻松部署复杂的分布式应用程序,同时降低运营成本并提高性能。这些优点在过去几年得到了广泛的关注,并且逐渐成为云计算领域的主流方向。在传统的软件开发过程中,应用系统往往是运行在一个独立的物理服务器或虚拟机上,因此很难满足实时响应要求。随着互联网公司的爆炸式增长,用户越来越依赖于Web应用,而这些Web应用通

GPIO的八种模式分析

GPIO是generalpurposeinputoutput,即通用输入输出端口,作用是负责外部器件的信息和控制外部器件工作。GPIO有如下几个特点:1.不同型号的IO口数量不同;2,反转快速,每次翻转最快只需要两个时钟周期,以STM32F1系列为例,最快速度可达50MHz;3.每个IO口都可以做中断。接下来介绍GPIO的电气特性:1.工作电压范围为:[2,3.3]V;2.识别电压范围(CMOS端口):-0.3V下图为GPIO的结构图: GPIO的上半部分为输入部分,下半部分为输出部分。接下来简要介绍其工作流程1.输入:信号从IO脚输入,经过保护电路后进入GPIO内部,然后进入上下拉电路(只是