自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 SpringBoot + MCP + Cline + DeepSeek,实现AI对话自动处理任务

基于Spring AI 搭建MCP服务

2025-05-09 15:07:53 1659

原创 解决celery框架报错:OSError: [WinError 6] 句柄无效、PermissionError: [WinError 5] 拒绝访问

解决celery框架启动时报错

2025-04-07 11:07:57 354 3

原创 golang实现读取excel文件并转换为JSON格式

自己实现方法:读取excel文件并转换为JSON格式

2025-03-03 10:31:45 1145

原创 使用开源项目xxl-cache构建多级缓存

XXL-CACHE 是一个 多级缓存框架,高效组合本地缓存和分布式缓存(Redis+Caffeine),支持“多级缓存、一致性保障、TTL、Category隔离、防穿透”等能力;拥有“高性能、高扩展、灵活易用”等特性,提供高性能多级缓存解决方案;

2025-02-11 14:52:33 2312

原创 公开免费的API集合

记录一些公开的免费API以供测试请求

2025-02-10 09:16:44 366

原创 SQLAlchemy 2.0的简单使用教程

SQLAlchemy 2.0相比1.x进行了很大的更新,目前网上的教程不多,以下以链接mysql为例介绍一下基本的使用方法。

2025-01-31 23:10:51 1326

原创 通过MDC+traceId实现全局请求追踪并快速定位日志

需要在大量日志堆栈中快速定位到某次请求或者方法调用的日志信息。

2025-01-13 10:53:55 1612

原创 go-zero使用自定义模板实现统一格式的 body 响应

go环境的配置、goctl的安装、go-zero的基本使用默认都会。

2025-01-10 09:15:35 1094

原创 解决:com.mongodb.MongoSocketOpenException: Exception opening socket

springboot项目启动时,报错并且用工具能够连接mongodb,已经排除是mongodb不能连接的问题。

2024-12-31 08:54:53 2179

原创 Socket学习(一):控制台聊天demo

客户端连接服务端后,可在控制台输入要发送的消息,服务端收到消息后自动回复消息并将消息转发给所有连接上的客户端:服务端收到消息并回复客户端1发送消息并接收服务端的回复客户端2接收服务端转发的消息。

2024-12-28 20:52:03 914

原创 Ubuntu 24.04.1 LTS 配置静态固定IP地址

ip addr使用该命令查看网卡名字,一般是ens33或者ens32。

2024-12-27 22:59:01 2139

原创 更改 pnpm 的全局存储位置

目录下(在 Windows 系统上)。但是,用户可以通过配置来更改这个位置。pnpm 的全局存储位置可以通过配置来改变,默认情况下,pnpm 会将全局存储位置设置在系统盘的。是你想要设置为 pnpm 全局存储的路径。例如,如果你想要将 pnpm 的全局存储位置设置为。这些命令会将 pnpm 的全局二进制文件目录、缓存目录、状态目录和全局目录分别设置到指定的路径。来查看 pnpm 的全局存储位置。

2024-12-26 08:43:21 2184

原创 windows系统更改pipenv install的虚拟环境文件夹路径

windows系统使用创建独立的虚拟环境时,虚拟环境默认会被创建在这个目录下,长期下去C盘空间会越来越少,网上说的什么新建环境变量完全是胡说八道,根本没有用。

2024-11-26 11:24:20 580

原创 关闭kafka在控制台打印的日志

【代码】关闭kafka在控制台打印的日志。

2024-10-31 00:04:12 767

原创 Java 17使用netty报错:PlatformDependent0$7 cannot access class jdk.internal.misc.Unsafe

环境:java 17 + netty 4.1.94.Final。

2024-08-16 12:21:21 834 1

原创 Java NIO中的Selector使用方法

Java NIO中的Selector是一个可以检查一个或多个实例是否准备好进行I/O操作的对象。使用Selector可以让你用一个线程来管理多个Channel,从而提高应用程序的效率。

2024-08-01 01:39:08 1274

原创 对比InputStream/OutputStream和Channel

以下是一个表格,对比了和Channelread()write()close()

2024-07-26 23:18:11 807

原创 实例说明如何使用Java 8的Function接口使得代码更加简洁以及降低重复性

Function接口是Java 8中引入的一个功能性接口,位于包下。它代表了一个接受一个参数并产生结果的函数。这个接口只有一个抽象方法apply(T t),用于对传入的参数应用某种操作并返回一个结果。这里,T是函数的输入类型,R是函数的返回类型。

2024-07-23 13:36:44 777

原创 docker安装redis及避坑:‘locale-collate ““‘ Bad directive or wrong number of arguments

问题原因:不同的redis版本需要不同的配置文件,根据报错日志可知当前redis的版本为。替换掉,然后按照之前的方法修改配置信息,完成后再次启动redis。,所以需要去redis官网下载对应版本的配置文件。

2024-07-21 10:39:50 1567

原创 使用Redis的SETNX命令实现分布式锁

分布式锁是一种用于在分布式系统中控制多个节点对共享资源进行访问的机制。在分布式系统中,由于多个节点可能同时访问和修改同一个资源,因此需要一种方法来确保在任意时刻只有一个节点能够对资源进行操作,以避免数据不一致或冲突。分布式锁就是用来实现这种互斥访问的工具。

2024-07-18 10:31:56 2343

原创 详细解析Kafaka Streams中各个DSL操作符的用法

在Kafka Streams中,DSL(Domain Specific Language)指的是一组专门用于处理Kafka中数据流的高级抽象和操作符。这些操作符以声明性的方式定义了数据流的转换、聚合、连接等处理逻辑,使得开发者可以更加专注于业务逻辑的实现,而不是底层的数据流处理细节。(Transformation Operators):这些操作符用于对KStream或KTable中的数据进行转换,如mapflatMapfilter等。它们允许你对流中的每个元素应用一个函数,从而生成新的流或表。

2024-07-17 10:50:20 1828

原创 详解MySQL中的递归查询

MySQL中的递归查询主要通过语句来实现,这在处理具有层级关系或树形结构的数据时非常有用。下面将通过一个具体的例子来详细解释如何在MySQL中使用递归查询。

2024-07-15 14:26:29 1241

原创 docker部署seata 2.0.0

当前使用的环境:MySQL:8.0+

2024-07-14 14:37:21 1343

原创 “Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter”解决办法

这个异常通常发生在试图使用类的时候,但是运行环境的类路径中没有找到这个类。在 Java 9 及更高版本中,包含的类被移动到了新的模块中,而默认情况下,这个模块可能没有被加入到模块路径中。

2024-07-13 20:49:35 1293

原创 浅析Kafka Streams中KTable.aggregate()方法的使用

方法是 Kafka Streams 中进行状态化聚合的关键,它允许你定义如何初始化和更新聚合状态,以及如何存储和管理这些状态。通过合理配置,你可以实现复杂的数据流处理需求,如累积计数、滑动窗口计算等。

2024-07-12 14:42:08 1151

原创 浅析Kafka Streams消息流式处理流程及原理

结合案例:统计消息中单词出现个数来测试并说明kafka-stream消息流式处理的执行流程

2024-07-12 00:01:31 1276

原创 查看docker中各个容器所占的资源

这个命令会显示容器的名称、CPU使用百分比、内存使用情况、网络IO、块IO、内存使用百分比和进程ID数量。这个命令提供了容器的实时资源使用统计,包括内存使用情况。要查看Docker中的每个容器占用的资源,可以使用。命令持续输出数据,而是只显示当前时刻的统计信息。替换为想要查看的容器的名称或ID。

2024-05-31 00:07:01 2197

原创 在SpringBoot中使用redis中的zset实现延迟任务

(有序集合)适合实现延迟任务的原因主要有以下几点:2、配置redis3、创建ZSET操作服务创建一个服务类来封装对ZSET的操作:4、定时轮询ZSET创建一个定时任务来定期检查ZSET中是否有到期的任务:负责添加和处理延迟任务,而负责定期调用方法来检查和处理到期的任务。

2024-05-30 18:29:07 653

原创 java中String、List、数组之间的转换方式

在Java中,StringList和数组(如String[])之间的转换是常见的操作。下面是如何在它们之间进行转换的示例。

2024-05-29 21:26:48 4513

原创 docker使用docker logs命令查看容器日志的几种方式

命令只能用于显示容器的日志输出,如果容器没有输出日志到stdout和stderr,那么这个命令将不会显示任何信息。如果容器日志非常大,你可能只想查看某个时间段的日志。在这种情况下,可以使用。如果需要更详细的日志信息,例如带有时间戳的日志,可以使用。参数,后跟一个相对的时间或者一个具体的时间戳。如果只想查看最近几行的日志,可以使用。如果想要实时查看日志,可以加上。参数,后面跟上想查看的行数。参数,这样日志就会像使用。

2024-05-29 14:58:48 17053

原创 docker部署nacos 2.2.3

【代码】docker部署nacos 2.2.3。

2024-05-29 14:54:02 504

原创 浅析AOP中的JoinPoint的使用

JoinPoint接口提供了多个方法,允许我们在切面中获取与连接点(即目标方法执行点)相关的信息。getArgs()SignaturegetThis()toString()getKind()下面是一个使用JoinPoint在这个示例中,我们定义了一个切面InfoAspect,它有一个@Before通知,该通知会在执行包下所有方法之前触发。在方法中,我们通过JoinPoint参数获取了方法名、目标对象、方法参数、代理对象、连接点类型和源代码位置等信息,并将它们打印出来。

2024-05-28 17:55:38 1147

原创 浅析SpringBoot中的AOP以及自定义注解类

下面我们自定义一个注释@Target(ElementType . METHOD) // 注解应用的地方(方法) @Retention(RetentionPolicy . RUNTIME) // 注解的生命周期(运行时) public @interface LogExecutionTime {// 可以定义一些属性,例如是否启用日志 boolean enabled() default true;

2024-05-28 17:32:44 1366

原创 SLF4J自定义方法输出日志信息

在Slf4j中封装一个方法,每当调用这个方法时在日志中输出当前时间、线程id和当前类,并可输出传入的日志信息。现在,你可以在你的代码中这样使用。创建一个自定义工具类。

2024-05-26 12:24:49 634

原创 mybatis-plus自定义拦截器统计方法中调用所有数据库表的名称

/定义正则表达式,提取出sql语句中的关键字 private static final Pattern TABLE_NAME_PATTERN = Pattern . compile("(FROM|UPDATE)\\s+([\\w\\._]+)");// 解析SQL语句,提取表名称 Matcher matcher = TABLE_NAME_PATTERN . matcher(sql);

2024-05-21 19:25:47 1161 1

原创 mybatis中foreach标签的用法说明

foreach>标签的基本语法如下:

2024-05-08 01:02:46 890 1

原创 在Springboot中,使用freemarker生成静态化HTML文件

Springboot版本:2.3.9JDK版本:JDK 17。

2024-04-30 23:04:12 728

原创 freemarker常用内建函数介绍

检查Hash是否为空(即是否包含至少一个键值对))都需要在模板的数据模型中被定义和赋值。:检查字符串是否以特定子串开始或结束。:返回序列的第一个和最后一个元素。:返回Hash中的所有键和值。等:检查变量是否为特定类型。:检查字符串是否包含特定子串。请注意,上述示例中的变量(如。:对字符串进行HTML编码。:使字符串的第一个字母大写。:返回序列中元素的数量。:对数字进行四舍五入。:对数字进行向上取整。

2024-04-30 22:15:11 469

原创 freemarker基本语法介绍

虽然 FreeMarker 提供了丰富的内置指令,但你也可以定义自己的指令。这通常涉及编写 Java 代码来扩展 FreeMarker。

2024-04-30 16:04:42 349

原创 vue3中,ref响应式变量什么时候需要使用.value

value在 Vue 3 中,ref用于创建响应式的引用(references),它总是返回一个包装对象,这个对象的.value属性包含了真正的响应式值。

2024-04-20 23:53:27 1958 2

空空如也

空空如也

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

TA关注的人

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