- 博客(43)
- 收藏
- 关注
原创 RocketMQ源码分析之从官方示例窥探RocketMQ事务消息实现基本思想
代码@2:ExecutorService executorService,创建一个线程池,其线程的名称前缀”client-transaction-msg-check-thread“,从字面理解为客户端事务消息状态检测线程,我们可以大胆的猜测一下是不是这个线程池调用TransactionListener方法,完成对事务消息的检测呢?【这里只是作者的猜测,大家不能当真,在作者后续文章发布后,如果该观点错误,会加以修复,这里写出来,主要是想分享一下我读源码的方法】。
2025-02-10 08:58:46
631
原创 RocketMQ事务消息实战
我们以一个订单流转流程来举例,例如订单子系统创建订单,需要将订单数据下发到其他子系统(与第三方系统对接)这个场景,我们通常会将两个系统进行解耦,不直接使用服务调用的方式进行交互。2、由于消息是在事务提交之前提交,发送的消息内容是订单实体的内容,会造成在消费端进行消费时如果需要去验证订单是否存在时可能出现订单不存在。// 不存在,则记录查询次数,未超过次数,返回UNKNOW,超过次数,返回ROLLBACK_MESSAGE。然后在控制器层,使用异步发送,将消息发送,并在消息发送成功后,更新待发送状态为已发送。
2025-02-10 08:56:43
592
原创 Redis进阶:事务+持久化+优化
有关订阅命令有两点需要psubscribe、unsubscribe、punsubscribe的四个命令。MQ支持,包括AMQP,MQTT,Stomp等,并且支持JMS规范,但Redis没有提供对这些协议的支持;MQ提供,但Redis无法对消息持久化存储,一旦消息被发送,如果没有订阅者接收,那么消息就会丢失;MQ提供了消息传输保障,当客户端连接超时或事务回滚等情况发生时,,Redis没有提供消息传输保障。
2025-02-10 08:54:42
926
原创 Redis进阶知识点(可学习,可复习,可面试)
🚓缓存更新策略内存淘汰内存淘汰策略不需要自己维护,它是利用Redis的内存淘汰机制,,下次查询时再更新查询。**优点:无维护成本缺点:一致性差**超时剔除给缓存数据,下次查询时再更新缓存。**维护成本低一致性一般**主动更新需要程序员自己编写业务逻辑,。**优点:一致性好缺点:维护成本高**当需求为低一致性需求时:使用内存淘汰机制。当需求为高一致性需求时:使用主动更新机制,并以超时剔除作为兜底方案。
2025-02-10 08:52:39
705
原创 Redis缓存:c语言和Java数据类型的区别_redis在c++和java有区别吗
出问题前预防:限流、主动降级、隔离出问题后修复:熔断、被动降级「本篇主要来讲解熔断机制。」 后续几篇会讲解其他方案。熔断这个概念来源于电路系统中的熔断。当电流过大时,保险丝熔断,防止因损坏电器元器件,或因电流过大,导致元器件热度过高,发生火灾。「物理公式」 电功率 P = I^2 * R,I 代表电流,元器件的电阻 R 不变的情况下,电流越大,电功率约大,电阻做的电功大部分都用来了,所以电功率越大,发热越严重。(还好高中物理没忘。)放到我们系统中,怎么理解熔断?如果在某段时间内,调用某个服务非常慢甚至超时,
2025-02-10 08:50:36
864
原创 Redis入门HelloWorld
下载redis解压redis编译rediscd redismake配置redis修改redis.conf,注释下面两行。
2025-02-10 08:48:34
794
原创 RedisTemplate常用方法总结
删除集合中值等于value的元素(index=0, 删除所有值等于value的元素;index<0, 从尾部开始删除第一个值等于value的元素)key集合与otherKey集合的交集存储到destKey集合中(其中otherKey可以为单个值或者集合)key集合与otherKey集合的并集存储到destKey中(otherKeys可以为单个值或者是集合)获取两个集合的交集(key对应的无序集合与otherKey对应的无序集合求交集)获取两个或者多个集合的并集(otherKeys可以为单个值或者是集合)
2025-02-10 08:44:32
409
原创 Redis6快速入门
解压完成后进入目录: cd redis-6.2.1在redis-6.2.1目录下再次执行make命令(只是编译好)继续执行: make install查看默认安装目录:redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲redis-check-dump:修复有问题的dump.rdb文件redis-sentinel:Redis集群使用。
2025-02-10 08:42:29
709
原创 RabbitMQ入门 -- 阿里云服务器安装RabbitMQ
一位上进心十足,拥有极强学习力的【】😜😜😜🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。!🏅 如果有对【后端技术】、【前端领域】感兴趣的【小可爱】,欢迎关注【Bug 终结者】💞💞💞❤️❤️❤️❤️❤️❤️。
2025-02-10 08:33:26
863
原创 Qt知识点梳理 —— TCP通信实现
系统结构分别建立服务端与客户端,系统运行后启动服务端,并建立起一个客户端,如图:执行效果项目源码若要使用Qt套接字,需要在项目.pro文件(本例为:012_TCP.pro)中加入。
2025-02-10 08:31:24
569
原创 php分支和循环结构
else{echo ‘您输入的不是数字’;?请输入年份:phpif(isset($_POST['button'])){ //点击了提交按钮//获取语文成绩//获取数学成绩echo '语文成绩必须在0-100之间';echo '数学成绩必须在0-100之间';}else{//求平均值echo "您的平均分是:{$avg}echo 'A';echo 'B';echo 'C';echo 'D';
2025-02-10 08:29:24
354
原创 Oracle数据库学习笔记 (六 —— 开发子程序和包)
答:子程序是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中多次调用过程和__函数过程用于执行特定的操作,而函数用于返回特定数据。
2025-02-10 08:27:23
746
原创 Nginx面试三连问:如何工作?负载均衡策略有哪些?如何限流
3、所有 worker 进程的 listenfd 会在新连接到来时变得可读 ,为保证只有一个进程处理该连接,所有 worker 进程在注册 listenfd 读事件前抢占 accept_mutex ,抢到互斥锁的那个进程注册 listenfd 读事件 ,在读事件里调用 accept 接受该连接。采用单线程来异步非阻塞处理请求(管理员可以配置Nginx主进程的工作进程的数量),不会为每个请求分配cpu和内存资源,节省了大量资源,同时也减少了大量的CPU的上下文切换,所以才使得Nginx支持更高的并发。
2025-02-10 08:23:17
756
原创 Netty入门官方例子
/BACKLOG用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。//ByteBuf是一个引用计数对象实现ReferenceCounted,他就是在有对象引用的时候计数+1,无的时候计数-1,当为0对象释放内存。//Netty内部都是通过线程在处理各种数据,EventLoopGroup就是用来管理调度他们的,注册Channel,管理他们的生命周期。//NioEventLoopGroup是一个处理I/O操作的多线程事件循环。
2025-02-10 08:21:18
711
原创 Android 自定义 MarqueeView 实现跑马灯 —— 原理篇
ItemViewDelegate 主要有三个方法,getItemViewLayoutId 方法表示获取 ItemViewLayoutId,isForViewType 会根据 item 即 position 判断当前的 item 是不是属于当前的 ItemViewDelegate,convert 在刷新当前 item 的时候会调用。
2025-02-06 14:40:56
681
原创 Android 自动检测更新,自动下载apk更新版本
/ updateNotification.setLatestEventInfo(UpdateAppService.this, getApplicationContext().getResources().getString(R.string.app_name), “下载失败”, null);
2025-02-06 14:39:12
300
原创 完美解决个人微信音频amr文件与mp3格式互转
silk-v3-decoder/converter.sh 微信amr文章文件路径名 mp3/bin/bash。
2025-02-05 22:48:29
748
原创 如何科学的进行Android包体积优化_android 官方也是有相关的api支持分架构打包
大家在进行一些有挑战性或者是比较有意义的项目时,其实可以多进行总结,总结的好处有什么我就不多解释了,懂的都懂哈。这里我就发散性的随便总结下吧。。。也不深入纠结了。包体积优化是个庞大的工程项目,不仅仅需要优化,还需要防劣化,优化过程中还会涉及到业务冲突,说白了就是某些东西从APK包中移除了,或多或少会有些影响,还需要去跟业务方达成意见一致。
2025-02-05 20:49:11
1060
转载 基于微信的旅游小程序、景区景点购票小程序、毕业设计、开题报告、毕业论文参考(6)后台开发文档
后台 产品 评论 列表操作(修改xiugai和删除del)后台中间文件(包含左右)下面是后台管理所涉及的。
2025-02-05 17:21:55
296
原创 基于微信小程序的食堂订餐
首页、个人中心、菜品分类管理、菜品上架管理、订单信息管理、订单配送管理、订单评价管理、订单取消管理等功能。食堂订餐小程序的系统项目的概述设计分析,主要内容有平台的具体分析,进行数据库的是设计,数据采用mysql数据库,并且对于系统的设计采用比较人性化的操作设计,对于系统出现的错误信息可以及时做出处理及反馈。数据库工具:Navicat11。
2025-02-05 17:11:01
184
原创 后台核心编程(九):网络编程-域名及网络地址_c hostent h_addr include
上图展示了默认DNS服务器无法解析主机询问的域名对应IP地址时的应答过程,可以看出,默认DNS服务器收到自己无法解析的请求时,向上级DNS服务器询问,通过这种方式逐级向上传递信息,到达顶级DNS服务器时——根DNS服务器,它知道该向哪个DNS服务器询问,向下级DNS传递解析请求,得到IP地址后原路返回,最终将解析的IP地址传递到发起请求的主机,DNS就是这样层次化管理的一种分布式数据库系统。提供网络服务的服务端也是通过IP地址来区分的,但由于IP地址难于记忆,因此通过容易记忆并表述的域名来取代IP地址。
2025-02-05 14:09:37
965
原创 卷麻了,00后测试用例写的比我还好,简直无地自容
编写用例虽然不是那么简单的事,但是通过以上,是不是发现还是有方法可循的?不会写的先模仿着来写,日积月累,通过项目中测试思维的长期训练,工作中出现 bug 的经验总结,相信某一天你会发现编写测试用例也没有那么难!《测试用例模板大全》
2025-02-04 17:34:09
262
原创 单片机程序构架_单片机编程架构标准
Sys_Init();//系统初始化= 变量定义//任务队列//运行方式 0: 无任务// 1: 运行//完成状态 0: 正在计数// 1: 计数完成//处理方式 0: 主任务处理// 1: 中断处理//运行计数器//循环计数器//任务函数原型:功能描述:入口参数:出口参数:返 回 值:int i;for (i=0;
2025-02-04 17:25:22
496
原创 六则糟糕代码的优化方案
保持函数简短,一个好的函数适合展现在一个幻灯片(slide)上,这样如果在一个比较大房间中,也便于最后一排的人阅读。变量、属性和函数名应该使用小驼峰式命名法,并且名称是可描述的. 应该避免使用单字符变量和不通用的缩写。逻辑互斥的 if 语句一定要配合 else 或 return 使用,把概率高的写在前面。上面的注释既不规范,也是多余的,当起了一个好的名字之后,代码就已经非常明确了。} else {// 不指定参数名称,返回全部的参数对象 或者 {}case 16~31 : //16~31天过生日。
2025-02-04 13:46:29
598
原创 公司招人,面了一个4年经验不会自动化的测试人,他凭什么要15K?
看到了很多份简历,好几个都是几个月测试经验的来面试,最离谱的是令我印象最深刻的,一个4年经验的,问薪资一张口就是要15k,这份自信也让我对他极其感兴趣,以为是来了个大佬,没想到我一问不提测试工具,仅仅基础的技术很多也知之不详,多数人数年的工作经验仅仅是功能测试堆起来的,毫无深度,对于APP自动化等等一问三不知,都停留接口测试的基础方法层面上,自动化进阶问题更是一问一个死,前沿技术最新动态也毫无关注。整个过程我都是非常认真负责的,不管是有经验的还是没经验的, 大概近60分钟。3.Web自动化测试实战内容。
2025-02-04 13:41:05
307
原创 你想了解MySQL主从复制,却连它的原理都说不清楚还怎么深入?
基于语句的复制在MySQL3.23中就已经有了,而基于行的方式则在5.1中才实现。其本质都是基于主库的来实现的,主库记录binlog,然后从库将binlog在自己的服务器上重放,从而保证了主、从的数据一致性。
2025-02-04 10:40:44
867
原创 二蛋赠书十七期:《精益DevOps》_精益devops书
交付团队没有采取措施提高对这些动态关系的认识和理解,而是将重点放在了其他因素上,如提高交付速度、使用最新的云技术和架构方法,或采用当前最流行的流程或方法。随着脱节日益严重,交付团队声称所能提供的服务与实际交付的服务之间的差距越来越大,团队也不再能做出有效决策。为了弥合差距,交付团队又会进一步增加流程,使用更多的工具,然而这对于有效弥合差距并没有太大帮助,反而会形成一个恶性循环,使得交付团队提供的服务离满足客户期望的目标越来越远。现在小型 IT 服务提供商也能立即扩展规模,应对全球几乎任何已识别的市场需求。
2025-02-04 07:39:07
276
原创 二叉树基本操作函数(先、中、后、层次遍历,含全部代码)_二叉树遍历前序中序后序的主函数
case 4: {printf(“二叉树层次遍历序列:”);case 3: {printf(“二叉树后序遍历序列:”);case 1: {printf(“二叉树先序遍历序列:”);case 2: {printf(“二叉树中序遍历序列:”);printf(“请按照先序遍历输入二叉树(-1无):”);printf(“********3.退出\n”);q.empty())//队列非空。
2025-02-04 07:35:36
294
原创 一套标准的前端代码工作流
charset 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom。indent_size 用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为tab_width。num2} 匹配num1到num2之间的任意一个整数, 这里的num1和num2可以为正整数也可以为负整数。singleQuote: false, //字符串是否使用单引号,默认为false,使用双引号。
2025-02-04 04:18:47
929
原创 一口气说出 Redis 16 个常见使用场景
brpop:brpop key1 timeout 移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。blpop:blpop key1 timeout 移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey。] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey。赛选商品,苹果的、ios的、屏幕在6.0-6.24之间的,屏幕材质是LCD屏幕。
2025-02-04 04:17:05
863
原创 zookeeper入门
5.线程将当前zxid最大的Server设置为当前Server要推荐的Leader,如果此时获胜的Server获得n/2 + 1的Server票数,设置当前推荐的leader为获胜的Server,将根据获胜的Server相关信息设置自己的状态,否则,继续这个过程,直到leader被选举出来。低32位用于递增计数。ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。
2025-02-03 19:42:25
306
原创 Vue:Vue-cli2结合mavonEditor实现MarkDown编辑器
==================================================================props| name 名称 | type 类型 | default 默认值 | describe 描述 || — | — | — | — || value | String | | 初始值 || language | String | zh-CN | 语言选择,暂支持 zh-CN: 简体中文, zh-TW: 正体中文 , en: 英文 , fr: 法语, pt-BR: 葡萄
2025-02-03 18:44:20
753
原创 STM32(HAL库)驱动TFTLCD显示屏_中景园 tft lcd显示屏模块 驱动
\HARDWARE\LCD中的lcd.c、lcd.h、lcd_init.c、lcd_init.h、pic.h、lcdfont.h粘贴至CubxMX生成代码文件夹目录\。5,找到void LCD_Init(void)函数,将延时函数delay_ms替换成HAL_Delay。3,删除整个void LCD_GPIO_Init(void)初始化函数。2,添加头文件#include “spi.h”1,删除原有#include “sys.h”删除原有#include “sys.h”打开厂家提供的标准库文件,将\。
2025-02-03 14:25:51
519
原创 stm32项目(15)——基于stm32的LED闪烁试验protues仿真_stm32的仿真图
protuesProteus是一款电子电路设计、仿真软件。它拥有逼真的仿真能力,能够模拟各种类型的电路,支持模拟模拟和数字电路,以及蜂鸣器、LCD、LED、七段数码管等多种外设。除了仿真能力之外,Proteus还拥有完整的EDA工具链,可以实现PCB设计、元件布局、元件编辑等功能,让用户可以一站式完成电路设计的整个过程。Proteus也提供了一系列的自动化工具,可以自动生成电路及其布局、排线,并可把板子输出成Gerber格式。
2025-02-03 14:24:10
634
原创 python爬虫实战:爬取美剧网站_追剧网爬虫
后来发现,其电视剧链接都是在文章里面,然后文章url后面有个数字编号,就像这样的http://cn163.net/archives/24016/,所以机智的我又用了之前写过的爬虫经验,解决方法就是自动生成url,其后面的数字不是可以变的吗,而且每部剧的都是唯一的,所以尝试了一下大概有多少篇文章,然后用range函数直接连续生成数来构造url。但是,好多重复链接,还有其网站的url不是我想的那么规则,写了半天也没有写出我想要的那种发散式的爬虫,也许是自己火候还不到吧,继续努力。以下就是上述步骤的实现代码。
2025-02-03 05:28:52
528
原创 python爬虫实战——小红书_python爬起小红书
为了获取博主的全部作品数据,在登录的状态下访问目标博主页面,在控制台中注入JavaScript 脚本(在没有滚动过页面的情况下)。该脚本不断滚动页面到最底部,每次滚动一段距离后,都获取每一个作品的信息(通过a标签的 href 获取到作品页URL;向下滚动页面时,到一定的范围时,会发送一个获取作品数据的请求,该请求每次只请求 30 项作品数据。频繁的访问和下载资源会被重定向到如下的页面,可以通过获取到该页面的特殊标签来判断是否被重定向连接,如果是,则及时中断访问,稍后再继续。这里拿到的图片是没有水印的。
2025-02-03 05:27:09
612
原创 Java毕业设计-商城管理系统
request.getSession().getAttribute(“role”).toString().equals(“管理员”)) {其他:jdk1.8、Tomcat8.5【不需要】 、Navicat。☀️管理员之商品分类管理☀️。☀️管理员之商品信息管理☀️。☀️管理员之订单管理☀️。☀️用户之折购商品☀️。☀️用户之充值余额☀️。☀️用户之我的订单☀️。- 个人中心【后台】- 折扣购买【后台】- 订单管理【后台】
2025-02-01 20:43:35
742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人