自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 自定义线程池异步批量处理任务

*使用自定义线程池,7个参数依次代表1、核心线程数2、最大线程数3、超时等待时间4、时间单位5、允许等待的线程数6、执行工厂7、拒绝策略(这里使用拒绝后续线程并抛异常的策略)} /*** 单例模式创建全局线程池* @return 自定义全局线程池} }/*使用自定义线程池,7个参数依次代表1、核心线程数2、最大线程数3、超时等待时间4、时间单位5、允许等待的线程数6、执行工厂7、拒绝策略(这里使用拒绝后续线程并抛异常的策略)} /**

2024-02-19 11:38:22 207

原创 redis

SDS是一种自动扩展的、可修改的字符串,它包含了字符串的长度信息,并且可以根据需要自动调整分配的内存大小。有序集合(Sorted Set):Redis的有序集合是一个有序的、唯一的字符串元素集合,每个元素都关联一个分数(score)。哈希表(Hash):Redis的哈希表是一个键值对集合,其中键和值都是字符串。在底层,Redis使用一些特定的数据结构来实现不同类型的数据。列表(List):Redis的列表是一个有序的字符串元素集合。集合(Set):Redis的集合是一个无序的、唯一的字符串元素集合。

2024-02-01 16:23:53 295

原创 MyBatisPlus的基本使用之QueryWrapper

使用来设置查询条件,而不是使用Lambda表达式。

2024-02-01 14:21:29 1251

原创 MyBatisPlus的链式查询LambdaQueryChainWrapper

【代码】MyBatisPlus的链式查询LambdaQueryChainWrapper。

2024-02-01 13:53:54 1407

原创 MyBatis-Plus 3.5.5的代码生成器 实践【完整代码】

【代码】MyBatis-Plus 3.5.5的代码生成器 实践【完整代码】

2024-01-30 18:41:23 1201

原创 SpringBoot集成MyBatis操作MySql8的JSON类型

一个包有一个类型转换器就够了开箱即用,复制即可@Override@Override@Override@Overridetry {> clazz) {= null &&!

2024-01-26 17:04:49 438

原创 MySql8的简单使用(1.模糊查询 2.group by 分组 having过滤 3.JSON字段的实践)

它将相同值的行归为一组,并为每个组生成一个结果行。通常与聚合函数(如COUNT、SUM、AVG、MAX、MIN等)一起使用,以对每个组执行计算。GROUP BY和HAVING是SQL中一起使用的两个关键字,用于对查询结果进行分组和过滤。查询JSON数组中同时包含1和2的记录,返回id,json_array。查询JSON数组包含值2的记录,返回id,数组中索引为0的元素。,对每个分组计算id的数量,命名为num。,命名为jsonArray列。,命名为jsonArray列。,用于进一步筛选分组。

2024-01-26 14:54:18 1254

原创 策略模式实现rocketmq的消息处理器解耦

使用RocketMqNotice注解 标记 消息处理器类,传入topic 和 tag/*** 自定义注解,标识 rocketmq的消息的处理器,处理指定的 topic tag*/@Inherited。

2024-01-23 18:37:00 515

原创 钉钉机器人webhook推送

效果:点击跳转链接,可以跳到百度,钉钉,emqx。效果:点击任何一个文字,都会跳转到 百度。效果:点击不同的区域,跳转不同的链接。效果:点击链接跳转到百度。五、FeedCard类型。

2024-01-22 18:34:39 1024

原创 list.stream.sorted对list按对象属性多级排序

在每个级别的排序后,如果前一个级别的排序结果相同,则继续按照下一个级别的属性进行排序。1.stream()方法将customObjectList列表转换为一个Stream对象,以便使用Stream API进行操作。5.collect(Collectors.toList())方法返回排序后的列表。3.每个级别的排序,使用Comparator创建比较器,按属性排序。长整数,使用comparingLong()方法。整数,使用comparingInt()方法;2.sorted()方法,多级排序。

2024-01-17 13:35:54 666

原创 RedisMessageListenerContainer 监听redis的key的变化

通过 onMessage 方法拿到消息后,自行处理,写入我们的处理逻辑。@Component@Slf4j@Autowired@Autowired/*** 发布 事件* @param message 监听key的操作类型 主要是设值和过期。* @param bytes 监听的主题*/@Overridelog.info("收到key设值(更新)的消息:操作{},redisKey={}", key, redisKey);//查询//把redis的分隔符:替换成 mqtt的分隔符/

2024-01-16 17:34:03 1149 1

原创 mqtt动态订阅。动态增加订阅,过期自动取消订阅

1.通过controller 测试 动态增加订阅 和发送消息。动态增加订阅,过期自动取消订阅。4.通过通道适配器动态订阅topic。3.mqtt的消息处理器。通过定时任务 取消订阅。2.mqtt的配置类。

2024-01-15 18:09:15 485 1

原创 caffeine高性能缓存的四种添加策略

caffeine 添加缓存的策略。

2024-01-11 16:20:49 602 1

原创 caffeine

Caffeine 是一个 Java 缓存库,它提供了一种简单而强大的方式来管理缓存数据。3.基础样例 Java8。

2024-01-10 17:16:53 348

原创 文件实时上传方案

3.点击提交按钮,请求后端的接口,后端解析attachments,找到需要删除的文件id,去文件表删除。:文件保存在专门的文件云服务器上。2.新增附件,前端请求接口实时上传文件,拿到文件的唯一ID,在attachments中追加“文件的唯一id:文件名称”。1.生成文件的唯一ID,把文件保存到指定目录下(保存时用id重命名文件)。2.文件表新增记录(包含唯一ID,文件名,文件路径,文件类型):文件保存在本地服务器上,数据库保存文件路径。文件的唯一id:文件名称,文件的唯一id:文件名称。

2024-01-10 11:59:20 531 2

原创 influxdb 1.8+版本 修改数据之修改field

把不符合的数据的field修改成其他值,那么查询sql就检索不到了,曲线救 国,在业务层面看间接实现了数据的删除。只能按 time的时间范围删除所有数据。不支持 field字段的条件删除。

2024-01-09 10:03:16 498 1

原创 kafka 在Win10存放目录过深 ,导致启动失败,提示“输入行太长。 命令语法不正确”。

原因:目录太深了E:\software\location\kfk\kafka\kafka_2.12-3.5.1。解决方法:直接放 E:\kafka_2.12-3.5.1。再启动,成功,看下图。

2024-01-03 16:38:31 870 1

原创 JMeter测试http接口的并发性能

在e盘创建csv文件。通过 ${xxx}来获取参数值。

2024-01-02 18:27:12 396 1

原创 Java反射/有一个计算长方形的面积的方法,在不改变原有类的情况下,我想替换成计算圆形的方法,请用反射实现,给出完整的例子

有一个计算长方形的面积的方法,在不改变原有类的情况下,我想替换成计算圆形的方法,请用反射实现,给出完整的例子。

2023-12-29 18:30:18 309 1

原创 SpringAOP面向切面编程。基于注解 的Around通知。在Controller实现切面日志功能,修改入参,修改返回值

接口返回结果 :1122 ,对比第六行,多了100,因为【切面中修改了 返回值】接口返回结果 :116 ,对比第六行,多了100,因为【切面中修改了 返回值】我们定义的修改规则是 如果是Integer类型的返回值,则再加100返回。我们定义的修改规则是 如果是Integer类型的返回值,则再加100返回。第一行:切面 获取了 全限定类名, 类名,方法的修饰符,方法名称。第一行:切面 获取了 全限定类名, 类名,方法的修饰符,方法名称。第二行:切面 获取了 自定义的日志注解的值。第六行:接口打印返回值16。

2023-12-29 17:20:11 649 1

原创 【java反射机制】java反射机制的学习

3.子类 Teacher,继承TFather,实现 Person接口。4.通过反射获取 类的所有信息。1.接口类 Person。2.父类 TFather。

2023-12-27 14:28:34 348 1

原创 【Arthas使用trace命令报错error happens when enhancing class: Method too large】

arthas的Method too large问题

2023-12-22 10:40:14 700 1

原创 【spring 事件驱动】spring 事件驱动

spring 事件驱动

2023-12-19 09:27:50 272 1

原创 【无标题】

【代码】【无标题】

2023-08-30 17:48:54 23

原创 【无标题】

给定时间区间,按年份分割,返回年份和对应时间区间,处理了边界

2023-03-09 09:59:17 43

原创 中间件官网网址

中间件官网网站

2022-12-21 10:00:46 52

原创 缓存与数据库的数据一致性方案

数据库与缓存的数据一致性方案1: 基于redis实现的 缓存双删的 延迟删除方案ask培肥罗素韩国v看路易斯v立法护士v看

2022-05-25 18:51:43 54

原创 Linux(centos7.9)安装rocketmq4.9.3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、安装jdk1.8+二、安装rocketmq4.9.31.下载linux环境下的安装包2.修改配置参数前言在腾讯云的linux服务器安装rocketmq4.9.3`一、安装jdk1.8+参考大佬教程 https://blog.csdn.net/pdsu161530247/article/details/81582980export JAVA_HOME=/usr/local/jdk1.8.0_181 #jd.

2022-05-24 18:56:29 676 3

原创 LeetCode#两数相加#Java利用链表实现

LeetCode#两数相加#Java实现class ListNode{ int val; ListNode next; ListNode(int x){ val = x; }}//leetcode submit region begin(Prohibit modification and deletion)class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l

2020-07-23 18:19:48 98

markdown-markdown-markdown

markdown-markdown-markdown

2024-01-24

策略模式实现rocketmq的消息处理器解耦-完整代码.zip

通过自定义注解优雅实现策略模式解耦rocketmq的消息处理器

2024-01-19

利用java反射技术实现动态搜索所有字段

利用java反射技术实现动态搜索所有字段

2024-01-18

docker-compose,nacos的yaml,日志文件

docker-compose,nacos的yaml,日志文件

2024-01-17

监听redis的key的变化

监听redis的key的变化

2024-01-16

mqtt-简单实现 -动态增加订阅,取消订阅

mqtt-简单实现 -动态增加订阅,取消订阅

2024-01-15

mqtt111111111111111111111111111111111111

mqtt111111111111111111111111111111111111

2024-01-15

file upload useless

file upload useless

2024-01-10

我的kafka实战 啦啦啦啦啦l

我的kafka实战 啦啦啦啦啦l

2024-01-09

2023的测试代码,没有任何用处,只是不想丢掉

2023的测试代码,没有任何用处,只是不想丢掉

2024-01-03

航空管理系统.zip

springboot+vue实现航空管理系统,包括登陆模块,订票客户管理,机型管理,账户管理,订票管理等等。前后端分离开发,前端使用vue ,后端使用springboot

2020-08-14

空空如也

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

TA关注的人

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