- 博客(15)
- 收藏
- 关注
原创 掌握Jackson的灵活扩展:@JsonAnyGetter与@JsonAnySetter详解
是Jackson提供的用于定制化序列化过程的重要注解。用于将Map类型的属性"展开"为JSON对象的顶级属性,它允许我们将一个Map中的所有条目作为对象的直接属性进行序列化。方法拦截:在序列化过程中,Jackson会检测被标记的方法Map展开:调用该方法获取Map对象后,会将Map中的每个Entry提取为JSON对象的属性属性合并:这些动态属性会与类中通过常规getter定义的属性合并输出应用于返回Map的方法序列化时将Map中的键值对平铺到JSON中只能标注一个方法和。
2025-05-27 17:27:36
1016
原创 Docker-Java 使用指南:在Java中操作Docker容器
/ 容器ID private String name;// 容器名称 private Boolean status;// 运行状态(true:运行中, false:已停止) private String image;// 镜像名称 private String desc;// 描述信息 private ServiceTypeEnum type;// 服务类型 } @Data public class DockerInfoDTO {
2025-05-27 09:12:56
1488
原创 使用Consul作为注册中心和配置中心
开箱即用的多数据中心支持基于Raft协议的强一致性保证(CP)与Spring Cloud生态良好集成同时提供KV存储和服务发现能力丰富的健康检查机制适合需要统一服务发现和配置管理的分布式系统,特别是多数据中心场景。
2025-05-23 16:15:15
1016
原创 Google Aviator:轻量级Java公式引擎完全指南
🚀高性能:通过编译成字节码实现,接近原生Java性能📦轻量级:核心jar包仅几百KB,无第三方依赖🔢大数运算:内置支持高精度计算(BigDecimal)🔌可扩展:支持自定义函数和运算符重载📝丰富语法:支持大多数Java运算符和函数调用函数名称语法示例功能描述实现类特殊字符变量处理带特殊字符的变量名数组访问获取数组指定下标元素位操作获取数字指定位的值(0/1)类型转换{type}expr强制转换表达式结果类型TypeUtil自定义函数实现要点继承或现有函数基类实现call()
2025-05-23 15:35:12
1207
4
原创 接口幂等性AOP+注解实现
接口防抖是指在一定的时间窗口内,相同的请求只会被处理一次,即使该请求被多次发送。这种机制可以防止由于网络延迟、用户误操作等原因导致的重复提交问题。解释@Target注解用于指定注解可以应用的目标元素类型。表示该注解只能应用于方法上。作用:在这个上下文中,Idempotent注解仅适用于方法,标识哪些方法需要进行幂等性检查。
2025-05-20 18:22:47
1348
原创 容器内apt/apk更新源地址报错解决方案
在Docker容器内执行apt update或apk update请求地址是内网地址,导致无法正常获取软件包。
2025-05-16 13:58:07
185
原创 XXL-JOB分布式任务调度系统完全指南
开箱即用:简单配置即可快速集成功能全面:满足各种调度场景需求社区活跃:持续更新维护,文档齐全性能优异:单机可支持数千任务调度对于需要替代传统Spring @Scheduled方案,或需要构建分布式任务调用的系统,XXL-JOB无疑是最佳选择之一。
2025-05-16 13:40:19
1077
原创 通过配置实现多注册中心动态选择的解决方案
自动配置过滤机制Spring Boot在启动时会加载大量的自动配置类通过实现接口,我们可以在这些自动配置类被处理前进行过滤match方法返回一个boolean数组,指示哪些自动配置类应该被保留(true)或排除(false)动态选择注册中心通过配置项决定使用哪种注册中心根据配置值排除其他注册中心的自动配置类默认使用Nacos作为注册中心通过实现并结合的SPI扩展机制,我们构建了一个完善的多注册中心动态选择方案。
2025-05-15 16:15:18
948
原创 使用JFreeChart实现Java后端图表生成全攻略
在现代Web应用中,数据可视化是呈现信息的重要手段。虽然前端图表库(如ECharts、Highcharts等)功能强大,但在某些场景下,后端生成图表仍然不可或缺:JFreeChart作为Java生态中最成熟的图表库之一,提供了丰富的图表类型和高度可定制性,非常适合后端图表生成场景。复合图多列柱状图饼图单列柱状图折线图使用JFreeChart需要添加以下Maven依赖:核心图表类型实现1. 饼图生成饼图适合展示比例关系,是数据占比分析的首选图表。2. 柱状图生成柱状图适合比较不同分
2025-04-15 14:18:55
931
原创 Java单元测试中的Mock技术详解与实践
Mock(模拟)是一种单元测试技术,它通过创建虚拟对象来替代真实依赖项,从而使测试能够专注于当前单元的功能验证。Mock技术是现代单元测试不可或缺的工具,它通过虚拟依赖对象使测试更加专注、快速和可靠。Mockito作为Java领域最流行的Mock框架,提供了简洁而强大的API,能够满足绝大多数测试场景的需求。测试方法名应清晰表达测试意图4.避免Mock具体实现类:尽量对接口进行Mock5.及时清理:对于需要清理的Mock,使用@AfterEach进行重置6.
2025-04-15 11:27:38
860
原创 大文件拆分上传与拼接技术实践:基于MinIO与Redis的集群解决方案
在现代应用开发中,大文件处理是一个常见而具有挑战性的需求。无论是视频编辑平台、科学计算系统还是企业文档管理系统,都需要处理GB甚至TB级别的文件。传统的单次上传方式在面对大文件时往往力不从心,容易因网络波动导致失败,且难以实现断点续传。本文将介绍一种基于MinIO对象存储和Redis的分布式大文件处理方案,实现文件的拆分上传、分片管理和两种不同的拼接策略。该方案已在生产环境集群中稳定运行,支持高并发场景下的文件处理。整个流程分为三个阶段:前端使用JavaScript的Blob API将大文件拆分为固定大小的
2025-03-27 18:28:25
794
原创 Windows搭建nacos2.X版本集群
GitHub主页:https://github.com/alibaba/nacos。创建数据库nacos,执行conf里面的mysql-schema.sql文件。在这一步就可以单节点启动了,附带单节点启动bat脚本,如果集群搭建继续。
2025-01-13 16:48:06
854
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人