自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ订单事务消息实战教学

用户下单要同时扣库存、扣余额、加积分,拆成 MQ 异步履约后,原子性、重复投递、部分成功三大难题怎么破?本文用一个真实可跑的下单案例,讲透 RocketMQ 事务消息(half 消息/本地事务/回查)、三层幂等防线(Redis SETNX + DB 唯一索引 + ▎ 条件更新)、业务失败与消费失败的区分处理、按状态补偿的 Saga 关单逆向流程,以及死信工单 + 人工重放的完整闭环。全量代码含 import、pom 依赖、建表 SQL,附三条可演示链路、生产落地清单与面试题速答,跟着做即可复现。

2026-09-02 16:58:57 451

原创 线程池生产实战教学

本文聚焦Java线程池生产实战,以银行营业厅类比讲解7大核心参数,剖析线上常见OOM、任务丢失、池被占满等事故根源。明确禁用Executors快捷方法,强调使用**有界队列、线程命名、业务池隔离**。提供查询、导出、异步通知三类生产可直接复用的线程池配置与业务代码。梳理拒绝策略选型、监控告警、优雅停机、TraceId上下文传递等踩坑要点。

2026-08-26 14:34:39 498

原创 CompletableFuture 并行查询规范(JDK17)

在微服务业务开发中,多数据源查询、多接口聚合场景十分常见。传统串行调用方式响应时长叠加,接口性能瓶颈突出。JDK8 引入的CompletableFuture为异步并行编程提供基础能力,JDK17 在此基础上完成 API 优化、异常处理增强,更加适合企业项目落地。但大量项目存在滥用并行异步的问题:无统一线程池、异常未捕获、存在事务嵌套并行、依赖关系混乱等,极易引发线程耗尽、数据不一致、生产故障。 本文结合 JDK17 特性,整理一套CompletableFuture 并行查询开发规范,提供统一线程池方案、

2026-07-28 10:43:49 231

原创 Redis 分布式锁实战教学文档

本文围绕 Redis 分布式锁实战教学 展开,核心目标是帮助开发者在 SpringBoot / SpringCloud 项目中正确使用分布式锁,避免超扣、重复提交、定时任务并发执行等问题。

2026-07-23 17:09:57 222

原创 RocketMQ 5.3.1 完整部署 + SpringCloud Alibaba 集成与消费幂等案例

本文基于 Apache RocketMQ 5.3.1 版本,完整覆盖 Linux、Windows 双环境单机部署流程,针对内存不足、透明大页 THP 校验拦截两大启动报错提供详细修复方案;结合 SpringCloud Alibaba 完成生产者、消费者代码封装,演示同步 / 异步 / 顺序 / 标签过滤多种消息发送方式;最后以水务账单支付业务为场景,讲解「Redis 分布式锁 + 数据库原子行锁」双层架构,解决 MQ 重复消费、并发支付、余额脏写等线上高频问题,附完整消费代码与原子更新 SQL,适合新手快速

2026-07-17 16:55:32 277

原创 微服务 Sentinel 熔断限流实战:注解多兜底方法优先级、外部统一处理器配置教程

本文基于 Sentinel 1.8.9 完整实战 Spring Cloud Alibaba 接入方案,一方面系统梳理blockHandler、fallback、defaultFallback三类兜底方法的优先级、适用场景与外部统一处理器规范,提供全局通用降级处理代码;另一方面重点实现Sentinel 规则 Nacos 持久化,将流控、熔断规则存入 Nacos 配置中心,支持动态更新、多环境隔离、永久留存,无需重复配置。文中附带完整依赖、配置文件、标准规则 JSON 与测试接口代码,覆盖限流、慢调用熔断。

2026-07-17 13:45:17 752

原创 Sentinel Dashboard 1.8.9 部署+Systemd 托管完整操作文档

本文档提供了Sentinel Dashboard 1.8.9版本的部署指南,包含:1)程序包路径为/home/sentinel/sentinel-dashboard-1.8.9.jar,服务监听8082端口;2)详细部署步骤包括创建目录、配置systemd服务文件(标准日志输出到/root/logs)、重载配置;3)完整的服务管理命令(启动/停止/重启/状态查看);4)验证方法及访问地址(控制台http://127.0.0.1:8082)。文档特别优化了日志输出方式,确保兼容性,并提供了进程自动重启和开机自

2026-07-15 16:59:02 263

原创 Java集成openfeign远程RPC调用教程

本文介绍了基于Spring Cloud OpenFeign实现微服务间RPC调用的具体实现方法。文章分为四个部分:1)API模块定义FeignClient接口及常量;2)被调用者influx模块实现接口;3)调用者meter模块通过注入接口完成调用;4)注意事项。重点说明了依赖配置、接口定义规范(GET请求参数处理)、启动类注解(@EnableFeignClients)等关键实现细节,并强调在Spring Cloud Alibaba 2025版本中依赖管理的变化。全文提供了完整的代码示例,涵盖了从接口定义到

2026-07-15 15:17:46 207

原创 springcloudAlibaba2025.0.0.0组件版本对应关系

本文介绍了SpringCloud Alibaba微服务项目的主要依赖配置及RPC调用注意事项。父模块需配置SpringCloud Alibaba(2025.0.0)、SpringBoot(3.5.5)等基础依赖,包含Knife4j增强SwaggerUI、Druid连接池、Sentinel、MySQL驱动等组件。特别强调MyBatis-Plus必须使用boot3-starter的3.5.x版本。子模块进行Feign远程调用时需引入openfeign和loadbalancer依赖,注意新版本已移除Ribbon。

2026-07-15 14:51:44 244

原创 Nacos 3.0.3 Linux 单机部署完整文档(systemd 托管)

本文详细介绍了在CentOS/Alibaba Cloud Linux系统上部署Nacos 3.0.3单机版的完整流程。主要内容包括:环境说明(JDK17要求、端口规划)、两种持久化方案(内嵌Derby/MySQL8.0)配置、核心application.properties文件规范(重点说明鉴权模块强制要求JWT密钥生成和数据库配置)、systemd服务配置方法,以及常见启动报错解决方案。特别强调3.0.3版本必须开启鉴权并配置32位Base64密钥,同时提供了MySQL8连接问题的解决方法。

2026-07-13 23:45:15 900

原创 XXL-JOB 部署及 Java 项目完整集成实战

XXL-JOB分布式任务调度平台部署指南 环境要求:Maven 3+、JDK 17+、MySQL 8.0+ 部署步骤: MySQL建表:执行官网提供的建表SQL,包含xxl_job_group、xxl_job_info等核心表 部署控制台:修改xxl-job-admin配置连接MySQL Java集成: 引入xxl-job-core依赖 配置application.yml(admin地址、accessToken等) 创建配置类初始化XxlJobSpringExecutor 开发任务类使用@XxlJob注解

2026-07-13 17:32:20 211

原创 Java集成InfluxDB_3.10

本文介绍了基于InfluxDB 3.10的Java实现方案,使用JDK17开发。主要内容包括:1)引入influxdb3-java和Lombok等依赖;2)配置InfluxDB连接参数;3)实现数据插入、查询和分页查询功能,包含完整的Controller、Service和DAO层代码;4)使用Swagger生成API文档;5)处理时间戳时区问题,原始数据保留UTC时间,业务展示时转换为北京时间。文章提供了智能电表数据的CRUD操作示例,包含参数校验、分页逻辑和批量数据生成任务,展示了InfluxDB在时序数

2026-07-13 16:52:35 167

原创 Alibaba Cloud Linux 4 完整安装MySQL8.0全套部署流程

- 刷新权限,配置立即生效 八、服务器防火墙放行 3306 数据库端口。-- 授予全部数据库所有操作权限,并允许该账号分配权限给其他人。-- 创建允许任意IP连接的root账号,密码root。复制输出里的临时密码,用于登录 MySQL。

2026-07-10 22:34:12 247

原创 InfluxDB_3.10 安装部署

本文提供了InfluxDB 3.0的两种安装方式:官方文档部署和本地RPM包安装。官方安装需下载密钥并配置YUM仓库,可能因网络问题失败;本地安装则需提前下载RPM包和密钥文件,通过yum或rpm命令安装。安装后介绍了服务管理命令、默认配置路径(如配置文件/etc/influxdb3/influxdb3-core.conf、数据目录/var/lib/influxdb3/data)以及首次访问的两种鉴权处理方案:关闭鉴权(测试用)或创建管理员令牌(生产环境推荐)。最后指导部署独立UI界面容器,通过8888端口

2026-07-09 16:00:16 219

原创 Java集成Minio实现上传文件

本文介绍了基于MinIO实现文件上传接口的开发过程。接口具备文件名重复检测功能,当文件名重复时会自动拼接UUID前缀。实现步骤包括:1) 添加MinIO依赖;2) 创建包含文件上传接口的Controller;3) 实现Service层逻辑,通过MinioClient进行文件存在性校验、重命名处理和上传操作;4) 最终返回文件访问URL。关键点包括MinIO客户端配置、文件名处理(分割和UUID拼接)以及异常处理。该方案适用于需要对象存储服务的应用场景。

2026-07-08 22:45:29 63

原创 minio安装部署及相关参数配置(附安装包)

本文介绍了在Linux系统上部署MinIO对象存储服务的完整流程。主要内容包括:1)通过wget下载RPM安装包并使用dnf安装;2)创建minio-user用户组和存储目录;3)配置环境变量文件设置管理员账号、存储路径和控制台端口;4) 使用systemctl管理服务启停及开机自启;5) 通过9001端口访问控制台。文档还详细说明了MinIO控制台的9大功能模块:对象浏览器、访问密钥管理、存储桶管理(含命名规则说明)、权限策略、用户管理、监控告警、事件通知、系统配置和许可证管理,重点解释了存储桶创建时版本

2026-07-08 16:04:42 525

原创 异步方法调用详解

本文基于Spring的@Async注解,详解了四种异步调用场景的实现与差异

2026-07-01 16:36:16 232

原创 Hutool 各类型标准判空大全

本文总结了Java中常见数据类型的判空工具及方法。字符串使用StrUtil.isNotBlank()判断非空;集合用CollUtil.isNotEmpty()检查非空集合;Map通过MapUtil.isNotEmpty()验证键值对存在;数组采用ArrayUtil.isNotEmpty()检测元素;实体类使用BeanUtil.isEmpty()判断字段全空;数值类型则用NumberUtil.isNotZero()确保非零。这些工具方法覆盖了开发中主要的判空场景,能有效避免NPE异常,提升代码健壮性。

2026-05-12 09:55:59 250

原创 idea不同仓库代码合并操作

本文介绍了使用idea对多个Git仓库合并代码操作的五个步骤:1)添加区分明显的远程仓库;2)刷新Git确认连接成功;3)拉取需要合并的分支到本地;4)通过cherry-pick选择性地合并特定提交记录;5)强调按时间顺序逐个cherry-pick以避免代码混乱。重点说明了如何将第二个仓库的dev分支合并到第一个仓库的master分支,并提示注意解决可能的合并冲突。

2026-05-11 11:40:36 479

原创 MySQL数据库添加索引语句

【代码】MySQL数据库添加索引语句。

2026-05-11 10:54:20 61

原创 MySQL数据库修改表结构语句

本文介绍了SQL中常用的表结构修改操作:1)新增字段(末尾追加、指定位置插入、首列添加);2)修改字段(类型/长度/注释/非空/默认值);3)删除字段;4)主键操作(添加/删除);5)提供常用模板。每种操作均给出标准语法和示例,涵盖ALTER TABLE命令的主要应用场景,适合开发人员快速查阅使用。

2026-05-11 10:42:57 88

原创 Java调用webservice接口

本文介绍了使用AXIS调用WebService接口的方法。通过添加axis依赖包,构建Service对象并设置目标地址,注意要去掉URL中的?wsdl后缀。详细说明了如何设置操作名称、按顺序添加参数(包括参数名、类型和模式),以及指定返回类型。最后通过invoke方法传入参数数组来调用接口,并处理返回结果。文章提供了完整的Java代码示例,演示了如何调用getByUserCode方法并传递两个字符串参数。

2025-09-01 15:40:53 417

原创 JAVA 请求第三方接口,将JSON数据转为对象

需要确认exchange.getBody()中是JSON字符串,并且字段类型,名称,个数与即将转换的对象保持一致。若定义的对象与实际的JSON格式中的不一样,可以使用@JsonProperty("目标名称")来转换。例:我们定义 的是dataNumber,而JSON对象中是DataNumber。

2025-08-29 15:59:57 233

原创 java 调用第三方接口,拼接字符串问题

最近博主在调用别人的接口的时候,发现apifox或者浏览器里直接访问一直没问题,但是在java代码里用restTemplate.exchange去调用三方接口,一直鉴权不通过。这个第三方接口提供商,是直接把token放到的传参中,而不是请求头中。URL中的特殊字符(如 和 )被双重编码了。在原始URL中, 是 的URL编码, 是 的URL编码。但在日志中,它们被进一步编码成了 和 ( 是 本身的编码)。原因: 在发送请求时会对URL进行自动编码。如果你的URL已经包含编码过的字符, 可能会对这些

2025-08-28 09:34:09 273

原创 Netty发送与接收报文

本文介绍了使用Netty框架实现TCP和UDP通信的完整示例。

2025-07-02 10:02:35 681

原创 Mybatis 嵌套子查询动态SQL编写

在MyBatis中,嵌套子查询的动态SQL参数传递问题可以通过在主查询中将参数作为常量列传递到子查询中来解决。具体实现方式是在主查询的SELECT语句中,将需要传递给子查询的参数作为常量列,并赋予别名。这些别名随后可以在子查询中作为动态SQL的参数使用。

2025-05-16 14:49:35 531

原创 Java 富文本转word(支持水印)

本文的目的是将传入的富文本内容(html标签,图片)并且分页导出为word文档。所使用的为docx4j。

2025-04-24 16:12:07 945

原创 java 富文本转pdf(支持水印)

本文的目的是将传入的富文本内容(html标签,图片)并且分页导出为pdf。所用的核心依赖为iText7。因为docx4j-core的核心包在maven中央仓库中,阿里云华为云等拉不下来,中央仓库在外网,并且此包在中央仓库中未提供可下载的jar包文件,所以通过iText github上提供的core包的组成jar,实现core包所需方法的调用。

2025-04-24 15:49:40 1106

原创 Java 接入deepseek(非流式)

此调用方法为非流式调用,所以针对返回内容较多的,可能返回时间长达几十秒,所以在工具类(DeepSeekSendMessage)中设置了调用的超时时间为1分钟,不然拿不到返回值。

2025-04-18 15:31:48 416

原创 JAVA EXCEL导出并设置下拉框

组装数据的时候,selectMap的key即为Excel中的位置减一,即水表口径在Excel中为第三列,则selectMap中的key设置为2。

2025-03-24 11:10:17 14097

原创 Java 推送钉钉机器人消息

本文的目的是通过手机号获取钉钉成员的userid,实现钉钉机器人的消息推送。

2025-03-20 16:02:00 15002

原创 Java 推送钉钉应用消息

本文的目的是通过手机号获取钉钉成员的userid,实现钉钉应用的消息推送。

2025-03-19 13:59:52 15369 2

原创 Java 微信公众号模板消息推送

如下图所示, 需要获取:开发者ID(AppID)开发者密码(AppSecret)

2025-03-18 15:32:02 15285 2

原创 geekAI+one-api+ollama部署安装

使用geekAI接入模型1、ollama本地部署2、ollama拉取deepseek:8b模型,运行模型3、部署one-api平台,将ollama运行的模型接入one-api平台【相当于API中转站】4、部署geekAI平台,接入one-api平台配置令牌。

2025-02-28 10:40:30 14793 2

原创 golang安装(1.23.6)

保存并执行 source /etc/profile 使配置生效。

2025-02-28 10:14:19 14329

原创 nvm安装

从官网下载https://github.com/nvm-sh/nvm/releases这里下的是nvm-0.40.1.tar.gz。

2025-02-28 10:10:24 13858

原创 Java SQL查询,数据批量新增更新优化

本文旨在记录博主在日常工作中对于,SQL查询,数据新增,修改的优化的一些见解

2024-12-26 15:51:26 35305

原创 sonarqube安装

sonarqube:7.8-community 是 sonar 对 jdk1.8 的最后一个版本,从 7.9 以后 sonar 最低支持版本为 jdk 1.11。解决:https://blog.youkuaiyun.com/xaioAdmin/article/details/107039989/注意 SonarQube 7.8 只支持数据库 5.6 以及上 8.0 以下的版本,其他版本的MySQL不支持。1、进入到 /home/citc/sonarqube-9.7.62043/conf 此文件夹下。

2024-12-05 10:44:01 34936

原创 harbor私有仓库安装

这是截至到2023/7/31的最新版本安装包。

2024-12-05 10:33:04 35098

原创 nginx部署

此文均是在linux环境下部署安装nginx。

2024-12-04 16:16:06 34653

rocketmq5.3.1 安装包

rocketmq5.3.1 安装包

2026-07-17

Sentinel Dashboard 1.8.9 jar包

Sentinel Dashboard 1.8.9 jar包

2026-07-15

nacos3.0.3资源包及nacos-mysql数据库初始化脚本

nacos3.0.3资源包及nacos-mysql数据库初始化脚本

2026-07-13

influxDB-3.10相关文件

influxDB_3.10相关文件

2026-07-10

InfluxDB-3.10需要的文件

InfluxDB-3.10需要的文件

2026-07-10

InfluxDB-3.10安装包

InfluxDB_3.10安装包

2026-07-09

minio-2025官方安装包

minio安装包

2026-07-08

Java 富文本转word 字体包

Java 富文本转word 字体包

2025-04-24

java 富文本转pdf 所需的iText7所有jar包

java 富文本转pdf 所需的iText7所有jar包

2025-04-24

goalng安装(1.23.6)

goalng安装(1.23.6)

2025-02-28

linux-nvm安装包

linux-nvm安装包

2025-02-28

mysql-5.7.44-el7-x86-64.tar.gz

mysql-5.7.44-el7-x86-64.tar.gz

2024-12-05

sonarqube-9.7.1.62043.zip linux环境安装包

sonarqube-9.7.1.62043.zip

2024-12-05

rar压缩软件安装程序包

rar压缩软件安装程序包

2024-12-05

sonar-scanner-cli-4.7.0.2747-linux

sonar-scanner-cli-4.7.0.2747-linux

2024-12-05

JDK1.8压缩安装包

JDK1.8压缩包

2024-12-05

docker-24.0.2.tgz

docker-24.0.2.tgz

2024-12-04

空空如也

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

TA关注的人

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