自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(155)
  • 资源 (5)
  • 收藏
  • 关注

转载 ES常见操作

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。在es当中,每个字段都会有默认的类型,根据我们第一次插入数据进去,es会自动帮我们推断字段的类型,当然我们也可以通过设置mappings来提前自定义我们字段的类型。

2024-04-22 14:53:35 6

原创 java 通过JdbcTemplate 访问oracle数据库分页查询数据

https://blog.csdn.net/qq_43038965/article/details/109449288

2024-04-11 15:26:06 106 1

转载 【Redis】之 RedLock 分布式锁

【Redis】之分布式锁简单来说就是 RedLock 是 Redis 实现分布式锁的一种方式。但不同点在于 RedLock 是 Redis 的作者 Antirez 在单 Redis 节点基础上引入的高可用模式。

2024-04-08 13:59:29 21

转载 stream流多字段排序

如果只进行单个字段的升序降序排列,我们使用reversed() 或者 Comparator.reverseOrder() 都可以如果要进行多个字段的升序降序排列,我们还是使用 Comparator.reverseOrder() 会更优雅、更好理解一些。

2024-04-02 11:29:56 44

转载 Java使用LocalDate获取某个月的第一天和最后一天日期

以一个月为周期进行查询时,如果用户没有选择查询的月份,我们想要默认查询当月或上个月的数据,这时,如何获取到一个月的第一天和最后一天日期呢?以下介绍两种方式采用LocalDate格式日期的实现,以及采用LocalDateTime格式日期的实现。直接上代码!// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-11-012021-11-30// 当前月份减1// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-10-11。

2024-03-19 10:04:35 469

转载 RocketMQ-03

实际应用中要结合业务场景,合理设置刷盘方式和主从复制方式, 尤其是SYNC_FLUSH方式,由于频繁地触发磁盘写动作,会明显降低 性能。通常情况下,应该把Master和Save配置成ASYNC_FLUSH的刷盘 方式,主从之间配置成SYNC_MASTER的复制方式,这样即使有一台 机器出故障,仍然能保证数据不丢,是个不错的选择。

2024-03-11 20:29:47 30

转载 RocketMQ-02

ID生成器IDWorker:Twitter雪花算法异常处理类CustomerException:自定义异常类CastException:异常抛出类常量类ShopCode:系统状态类响应实体类Result:封装响应状态和响应信息。

2024-03-06 21:01:35 35

转载 docker详解(尚硅谷阳哥)

Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。

2024-03-06 11:53:17 43

转载 RocketMQ-01

消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。

2024-03-01 10:57:35 34

转载 黑马---Redis入门到实战【实战篇】

缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高什么是缓存?一种具备高效读写能力的数据暂存区域缓存的作用?降低后端负载提高读写响应速度缓存的成本?开发成本运维成本一致性问题。

2024-02-27 16:28:37 55

转载 黑马---Redis入门到实战【基础篇】

为了节省内存空间,我们并不会使用JSON序列化器来处理value,二是统一使用String序列化器,要求只能存储String类型的key和value。为了在反序列化时知道对象的类型,JSON序列化器会将类的class类型写入json结果中并存入Redis,会带来额外的内存消耗。Redis的SortedSet是一个可排序的set集合,与java中的TreeSet有些类似,但底层数据结构却差别很大。Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样。

2024-02-27 14:10:51 30

转载 SpringBoot自定义线程池

*** 线程池配置属性类*/

2024-02-21 13:52:32 36

原创 rocketmq 顺序消费

https://blog.csdn.net/loveme888/article/details/103006512

2024-02-20 11:52:02 101

原创 SpringBoot集成RocketMQ实现延迟消息

https://blog.csdn.net/weixin_44758923/article/details/128469052

2024-02-20 11:51:31 135

转载 RocketMQTemplate 发送消息的高级用法

通过深入了解 RocketMQTemplate 的高级用法,我们可以更灵活地控制消息的发送和路由。从延迟消息到事务消息,RocketMQTemplate 提供了多种方式满足不同业务场景下的需求。在实际应用中,要根据业务需求和性能考虑来选择使用哪种方式。通过合理使用 RocketMQTemplate,我们可以更好地利用 RocketMQ 提供的特性,构建高效可靠的分布式消息系统。

2024-02-20 11:35:58 165

转载 RocketMQTemplate基本使用

两个消费者组 groupA、groupB,每组中有两个消费者: groupA-1 groupA-2 groupB-1 groupB-2。使用任一生产者发出消息,groupA中的两个消费者都可以收到消息,groupB中的随机一个消费者也可以收到消息。针对不同的ConsumerGroup中,同一个消息,每个消费组中都有一个消费者需要消费。使用任一生产者发送消息,每个消费者组都能收到消息。针对同一个ConsumerGroup中,同一个消息只有一个消费者消费即可。同一个消息,每个消费者都需要消息。

2024-02-20 11:08:24 268

转载 图解23种设计模式

指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。

2024-02-20 10:32:18 12

转载 Seata分布式事务失效,不生效(事务不回滚)的常见场景

当Seata没有正常结束时,每个服务对应数据库中的undo_log表和seata持久化数据库的brach_table、global_table、lock_table、undo_log表都有可能有脏数据没有正确删除,从而导致服务一直回滚,却不成功。**解决办法:**清除undo_log表以及seata持久化数据库的brach_table、global_table、lock_table、undo_log表中的脏数据。那么可以分别在服务A、服务B、服务C的事务方法中添加。(2)每个服务中的XID不一致。

2024-02-18 14:22:52 489

转载 Seata实战安装部署与Spring Cloud应用-常见问题

解决:先查看各服务的XID是否一致。

2024-02-18 14:08:24 35

转载 SpringCloud整合Seata1.6.1部署与使用Nacos方式

启动成功后,即可访问 http://127.0.0.1:7091/#/login 改地址进入seata的webui,用户名与密码默认为seata,可在上面的1.2章节中中提到的application.yml配置项:console.user中修改。在上述库中添加seata的配置表,sql文件存放在:seata/script/server/db/mysql.sql中。seata官网:http://seata.io/zh-cn/index.html。修改store.db配置项下的配置,连接到自己的数据库。

2024-02-08 17:24:26 152 1

转载 SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表

由于 Spring Boot 3.0,Spring Boot 2.7~2.4 和 2.4 以下版本之间变化较大,目前企业级客户老项目相关 Spring Boot 版本仍停留在 Spring Boot 2.4 以下,为了同时满足存量用户和新用户不同需求,社区以 Spring Boot 3.0 和 2.4 分别为分界线,同时维护 2022.x、2021.x、2.2.x 三个分支迭代。如果不想跨分支升级,如需使用新特性,请升级为对应分支的新版本。为了规避相关构建过程中的依赖冲突问题,可以通过。

2024-02-08 14:41:33 552

转载 Feign组件的fallback操作

Hystrix类:重写方法用于当接口访问异常时,即调用的接口抛出异常时调用对应的重写方法,一般用于容错返回和输出异常。MessageFeignFactory类。修改@FeignClient 注解。可以看到抛出的异常有状态号信息等。开启hystrix 熔断器。FeignClient类。

2024-02-08 10:25:02 97

转载 分布式事务解决方案:RocketMQ事务消息

当事务消息发送成功后回掉RocketMQLocalTransactionListener#executeLocalTransaction方法,执行本地事务。第二次请求,因为流水id已经存在(报主键冲突异常),导致发送端扣钱失败,接收端也没收到消息,2边的钱都没发生变化,测试完成。还是以转账的demo演示一下,在db_account_1和db_account_2这2个库中,建立如下2张表。同时需要提供回查方法的实现,让rocketmq查询本地事务的执行状态,来决定是否投递消息。转账的时候先发送一条事务消息。

2024-02-07 18:23:07 24

转载 [RocketMQ错误]Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <

2024-01-20 20:58:04 130

原创 WebSocket-黑马好客租房

WebSocket 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。WebSocket是真正实现了全双工通信的服务器向客户端推的互联网技术。它是一种在单个TCP连接上进行全双工通讯协议。Websocket通信协议与2011年倍IETF定为标准RFC 6455,Websocket API被W3C定为标准。全双工和单工的区别?全双工(Full Duplex)是通讯传输的一个术语。

2024-01-20 16:34:34 1485

原创 【java常用接口】Comparator学习

Comparator 是 Java 中的一个接口,用于定义对象之间的排序规则。它可以用于对集合中的对象进行排序,或者用于自定义排序算法。

2024-01-19 20:44:34 469

转载 spring boot整合各个中间件

https://blog.csdn.net/qq_29860591/category_9633693.html

2024-01-18 19:13:32 38

转载 实战,实现幂等的8种方案!

什么是幂等为什么需要幂等接口超时,如何处理呢?如何设计幂等?实现幂等的8种方案HTTP的幂等幂等是一个数学与计算机科学概念。在数学中,幂等用函数表达式就是:f(x) = f(f(x))。比如求绝对值的函数,就是幂等的,abs(x) = abs(abs(x))。计算机科学中,幂等表示一次和多次请求某一个资源应该具有同样的副作用,或者说,多次请求所产生的影响与一次请求执行的影响效果相同。

2024-01-18 19:10:53 165

原创 linux 安装 RocketMQ

https://blog.csdn.net/wsjzzcbq/article/details/125562966

2024-01-15 19:27:27 387

转载 分布式事务解决方案之TCC

TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反的操作即回滚操作。TM首先发起所有的分支事务的try操作,任何一个分支事务的try操作执行失败,TM将会发起所有分支事务的Cancel操作,若try操作全部成功,TM将会发起所有分支事务的Confirm操作,其中Confirm/Cancel。

2024-01-15 17:10:47 19

原创 idea2018导入多个javaweb项目-学习笔记

确认,test项目的依赖jar包,引入tomcat jar包。到此导入javaweb并配置完成。

2024-01-15 10:53:30 927

转载 【无标题】

经验判断,消费速率低下的主要原因往往都是数据处理时间长,业务逻辑复杂最终导致一次 poll 的时间被无限拉长,如果可以通过增加数据处理的线程数来降低一次 poll 的时间那么问题就解决了。基于上述几点,思路就是消费者 poll 下来一批数据,交给多个线程去并行处理,消费者等待所有线程执行完后提交。这里采用轮训的方式且切分的个数与 threadNum 一致,尽可能保证每个线程处理的数据数量相差不大。第二步:因为需要并行处理一批 poll 数据,因此需要对数据进行切分,切分逻辑如下。

2024-01-15 10:50:28 21

转载 Elasticsearch - 直观了解查询( term、match、match_phrase和query_string)区别

如“我真帅”分词为[“我”,“真”,“帅”,“真帅”],match_phrase 的查询语句“真帅”被分词为[“真帅”],其中“真帅”能匹配上text字段的分词结果,连续且顺序相同,所以能查出。如“我真帅”分词为[“我”,“真”,“帅”],match的查询语句“真帅”被分词为[“真”,“帅”],其中“真”、“帅”能匹配上text字段的分词结果,所以能查出。如“我真帅”分词为[“我”,“真”,“帅”],term必须为“我”或“真”或“帅”,才能查到,而“我帅”、“真帅”不行。match 查询语句分词。

2024-01-14 17:35:03 195

转载 ES multiMatchQuery 短语精确匹配多个字段

答案 是 用这个multiMatchQuery 方法进行查询。但是有时候需要精确匹配 (也就是对搜索关键字不分词)多个字段。用于匹配多个字段,但是会对搜索关键字进行分词。

2024-01-14 17:30:20 272

转载 es中match_phrase和term区别

也就是说,term和match_phrase都可以用于精确匹配,而match用于模糊匹配。那么,term和match_phrase都可以实现按短语搜索,二者在实际使用中有啥区别呢。match会对输入进行分词处理后再去查询,部分命中的结果也会按照评分由高到低显示出来。这就不难理解为啥term搜“学习”搜不到,搜全文也搜不到,因为存的是“学”和“习”。match_phrase是按短语查询,只有存在这个短语的文档才会被显示出来。我们会发现,中文竟然被默认分词器分词单个字了!只有当这三个条件满足,才会命中文档!

2024-01-14 17:25:47 238

转载 git命令怎么取消合并?

git merge --abort 只能在合并导致冲突后运行。git merge --abort 将中止合并过程并尝试重建预合并状态。但是,如果在合并开始时有未提交的更改(特别是如果在合并开始后进一步修改了这些更改), git merge --abort 在某些情况下将无法重建原始(合并前)更改。比如我们在 develop 分支执行下面的合并命令,去合并其他分支之后,我们突然不想合并了,要取消该怎么处理?执行完成之后,我们发现 MERGING 没了。执行合并之后,会出现 MERGING。

2024-01-12 10:26:36 44

转载 kafka配置全解析

文章知识点与官方知识档案匹配,可进一步学习相关知识。

2024-01-12 10:22:12 50

转载 kafka配置

指定生产者客户端连接kafka集群所需的broker地址列表,格式为host1:port1,host2:port2,可以设置一个或多个。这里并非需要所有的broker地址,因为生产者会从给定的broker里寻找其它的broker。:broker接收消息必须以字节数组byte[]形式存在,KafkaProducer和ProducerRecord中的泛型就是key和value的类型。

2024-01-12 10:14:48 139

转载 @SneakyThrows注解

SneakyThrows注解的用途得从java的异常设计体系说起这是异常的类图。Throwable是Error和Exception的父类,用来定义所有可以作为异常被抛出来的类。

2024-01-11 16:28:48 53

转载 @PostConstruct详解

PostConstruct是Java自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。从Java EE5规范开始,Servlet中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。

2024-01-09 11:45:26 29

vue基础语法练习源码

本套资源,是在html文件中测试的一些vue基础语法,包括过滤器、定义插件、列表渲染等语法。此资源适用于初学vue的小伙伴,用于加深对vue语法的熟悉。

2020-12-09

用SWT、Socket实现聊天室

本程序分为三个文件夹,ChatClient客户端,FileServer文件上传程序,ChatService聊天服务器端。不同用户可以通过客户端进行通信和上传接收文件,两个服务器程序可以部署在虚拟机上,当然也可以放在window本机系统上,只需修改该程序中IP即可。程序包含登录验证、好友列表、聊天、上传文件等功能,经测试能够正常运行。程序中由于未使用数据库,所以相关的用户信息都是用静态变量写死的。如有问题,欢迎私信。

2020-12-09

公交线路查询系统的设计与实现系统毕业设计参考

公交线路查询系统的设计与实现系统毕业设计参考,线路查询、站点查询、信息管理

2019-03-21

小米官网的静态页面33

对于前端页面课程设计练习,包括对HTML和CSS的使用

2019-03-14

小米官网的静态页面

对于前端页面课程设计练习,包括对HTML和CSS的使用

2019-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除