自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用异步调用降低qps

RateLimiter + CompletableFuture + 自定义线程池

2025-09-23 17:44:30 156

原创 异步编程实战:基于IP地址的全局速率限制和RateLimiter的使用

本文探讨了并发编程中常见的批量任务处理问题,通过一个实际案例分析了"单独执行正常但批量失败"的现象。文章揭示了问题根源在于异步任务未等待完成和异常被吞噬,提出三阶段解决方案:1)收集并等待所有CompletableFuture完成;2)为每个任务添加独立异常处理;3)发现API基于IP的全局速率限制问题。最终通过引入Google Guava的RateLimiter进行精确控制,确保并发请求不超过阈值。关键启示包括:必须追踪和等待异步任务、添加独立异常处理、警惕API速率限制,以及将限流器

2025-07-18 11:33:13 801

原创 分享一个自用模拟分页工具类

用于处理不方便直接分页的情况

2024-11-26 10:04:24 180 1

原创 多级返回值的嵌套映射写法

得到的结果为未分组的结果,现在我们编辑resultMap来进行处理。即可直接获得creatorSampleDTOList。以下为返回类,为三级结构,对应三张表。现在可以使用sql进行查询。

2024-11-26 09:49:32 281

原创 Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass

Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible

2024-09-06 17:22:05 3148

原创 字符串和实体类互相转换

每次都忘,记录一下。

2024-08-15 13:30:17 487 1

原创 企业微信群机器人提醒对接

企业微信群机器人对接

2024-08-15 12:11:05 760

原创 在 Spring Boot 中整合、使用 WebSocket

后续会补上实现代码。

2024-08-15 11:57:02 220

原创 npm install/yarn install 时报错ssl过期的坑

起初npm install报错想着无非就是镜像源的问题,换个就好了,更换为。最后发现yarn镜像源会导致npm镜像源设置失败。将yarn镜像源同时修改,解决。知道原因的大佬解释下呗。

2024-02-21 18:01:27 571 1

原创 java异常捕捉,使用@ExceptionHandler优雅的抛出异常

使用spring的@ExceptionHandler(BizException.class)捕捉代码中抛出的BizException异常。项目中需要在后端将报错返回给前端,通过抛异常的方式能减少重复代码量。然后在需要返回报错信息的业务逻辑中抛出异常。扩展一下,也可以将判空能处理做成工具类抛出。捕捉异常,这边根据需要返回就好。BizException类。这样代码看起来更舒服。

2024-02-05 17:36:55 1067 1

原创 resource目录下的文件下载出错 (No such file or directory)

本地测试正常的接口发布后线上调用时报错file:/app/xxxx/xxxx.txt(No such file or directory)

2024-02-05 11:27:15 489 1

原创 JetBrains IDES新旧UI切换

idea新旧ui切换、WebStorm新旧ui切换

2024-02-04 16:08:38 12363 4

转载 【转载】mybatis-plus实现多表联查(解放双手,不写 SQL)

注意需继承com.github.yulichang.base包下的MPJBaseMapper、MPJBaseService等。而不是com.baomidou.mybatisplus.core.mapper下的BaseMapper。引入mybatis-plus-join-boot-starter包实现多表联查不写sql。

2024-01-31 15:15:48 693

原创 vue input输入框限制只能输入正整数

input type="number" @keydown="filterNum($event)" v-model="num" placeholder="请输入数字">用于防止输入负数和小数。

2024-01-18 11:06:28 4819

空空如也

空空如也

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

TA关注的人

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