logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Knife4j 文件上传 multipart/data 同时接受文件和对象,调试时上传文件失效

PrizeCreateParam 自定义的java对象 还有 MultipartFile当二者同时使用RequestPart注解后, 按理来说 knife4j页面应该是 可以显示 文件上传和json填写的这里prizePic的请求类型是Query显然是错的,因为文件上传不能在url里面我的knife4j是 4.4.0版本AI的核心修改思路是: 通过 Swagger 注解明确声明每个参数的媒体类型,

#java
Java 8 流式编程

改变了思维方式:以前:怎么操作数据(命令式)现在:想要什么结果(声明式)改变了代码风格:以前:循环+判断+临时变量,逻辑分散现在:链式调用,逻辑集中,一眼看清意图改变了性能可能性:以前:串行是默认,并行需要大量改造现在:parallel()一行代码,串行变并行流的本质:不是新的数据结构是一种新的处理数据的方式是声明式编程思想在Java中的体现学会用流,不只是学会了一个API,而是学会了一种新的思考

#java#windows#开发语言
Optional:告别NullPointerException的优雅方案

改变了表达方式:以前:返回null表示没有值,无声无息现在:返回Optional,明确告诉调用者可能没有值改变了处理方式:以前:if(result!= null) 防御性判断,容易遗漏现在:isPresent/orElse/ifPresent 链式处理,语义清晰改变了代码风格:以前:判断逻辑和业务逻辑混在一起现在:用函数式方法处理Optional,可以和流无缝衔接Optional的本质:不是消灭n

#python#开发语言
Redis GEO,一个被我低估的功能

用 Redis GEO 之前,我觉得地理位置查询是个复杂的事,各种三角函数、坐标系转换,很难搞。真正用起来之后发现,几条命令就能解决大部分场景,难的部分 GeoHash 都替你处理掉了。但了解 GeoHash 的底层原理还是有必要的——知道它是用 ZSet 存的、知道边界问题的存在、知道为什么不能直接操作 score,这些细节在排查问题的时候都有用。另外坐标系那个坑,国内项目一定要提前想好,否则数

#java#redis
Canal 过时了?我不这么认为

学一个技术,把它的来龙去脉搞清楚,比只会用它配置更重要。Canal 这个项目,让我真正理解了 MySQL 主从复制协议、binlog 的结构、缓存一致性的几种方案和各自的取舍。这些知识不会因为 Canal 热不热门而过时。工具可以换,底层的理解带不走。

#大数据#java
在 Spring Boot 项目中使用 WebSocket 实现实时通信

1. 引入 spring-boot-starter-websocket 依赖↓2. 注册 ServerEndpointExporter Bean(内置Tomcat必须)↓3. 编写 @ServerEndpoint 端点类实现 @OnOpen / @OnMessage / @OnClose / @OnError↓4. 用 ConcurrentHashMap 管理所有在线 Session↓5. 业务代

#websocket
为什么 MqttConsumer 不交给 Spring 管理?——从一个充电桩项目说起

1. 并非所有的类都需要交给 Spring 管理。Spring 容器管理的是需要在多处共享、需要享受 Spring 生命周期特性(如依赖注入、AOP、事务等)的对象。像这样的回调类,它的生命周期完全依附于MqttClient,由MqttClient负责持有和调用,不需要被其他地方注入,没有必要进容器。2. 谁创建,谁负责。是在的@Bean方法里创建的,它的生命周期就交给MqttClientBean

#java#开发语言
Spring Boot WebSocket 两种集成方式深度解析

WebSocket 是实现服务器主动推送、实时通信的利器,常见于聊天室、消息通知、实时监控大屏等场景。Spring Boot 集成 WebSocket 有两条路把两套配置混用了。两种方式各自的工作原理各自的完整配置步骤最容易踩的坑(以及为什么会踩)选型建议原生Spring配置类Bean+ 实现处理器@Component实现@ComponentBean 注入必须用static字段 + setter

#spring boot#websocket#后端
从零入门 Kafka:Java 原生 API 到 Spring Boot 实战全解析

Data@Data// 当前累计充电量// 当前累计费用// 电费单价// 服务费单价// 计费规则名称(尖峰平谷)// 充电时长(ms)// 事件时间戳功能原生 API生产消息消费消息+ while 循环注解手动提交序列化手动配置 Serializeryml 配置或@Bean配置类创建 Topic命令行或 AdminClient自动创建死信队列手动捕异常转发重试手动实现选型建议学习和理解底层原理

#linq#c#
Kafka 零基础实操命令大全

前面我们吃透了 Kafka的核心底层原理,理论落地必须依靠实操命令。Kafka 日常开发、测试、集群运维的核心操作,全部依赖自带的 shell 命令。本文整理的 Kafka 命令,按「主题管理、消息生产消费、集群运维、分区副本、偏移量查询」分类,搭配详细参数解析、实操场景、避坑说明,新手直接复制即用,完美搭配上篇原理博文,做到。:本文命令基于 Kafka 2.x/3.x 新版本,统一使用(废弃旧版

#kafka#分布式
    共 17 条
  • 1
  • 2
  • 请选择