- 博客(2591)
- 资源 (32)
- 收藏
- 关注
转载 spring-boot-excel-import-sse-progress
原因很现实:Alibaba EasyExcel 的 GitHub 仓库已经在 2025 年 9 月归档并进入只读状态,老项目如果已经稳定使用当然没必要马上替换,但新项目我更愿意选仍在持续维护的 Apache POI。回过头来看,这次改造最重要的其实不是 POI 比以前省了多少内存,也不是 500 条 batch 到底比 1000 条快多少,甚至也不只是加了 SSE。这样无论 Excel 是 1 万行还是 30 万行,业务层真正长期持有的 List 大概都是 500 条,而不是整个 Excel。
2026-09-19 08:22:20
16
转载 Spring Boot 上传 5GB 文件,我把一个接口改成了分片 + 断点续传 + 秒传
倒不是 Spring Boot 不能收 5GB 文件,而是这种“整个文件一次 HTTP 请求传完”的方式,文件越大,问题越明显。因为真正需要解决的,从来都不是 Spring Boot 到底能不能接收一个 5GB 的 HTTP 请求。一个 5GB 文件已经传了 4.8GB,Wi-Fi 抖了一下。比如一个 5GB 文件,大概会被切成 640 个分片。真正上传分片的 Controller,我反而写得很薄。前段时间做一个文件上传功能,最开始需求很简单。乍一看,好像为了“上传一个文件”搞复杂了。
2026-09-18 22:45:45
8
转载 排行榜接口卡到 2 秒,我用 Redis ZSet 分段补偿救了回来
回头看,排行榜这事儿的难点从来不在 ZSet 本身——那三个 API 谁都会调。真正的功夫全在数据量上去之后怎么办:深度分页、内存控制、实时和一致的取舍、同步任务的兜底。这些才是区分"会调 API"和"能扛住线上"的地方。
2026-09-07 09:23:35
8
转载 100万行导出内存从2G降到50M,EasyExcel这样用才叫“流式“
EasyExcel本身已经解决了"写入端"的内存问题。但"读取端"的分批设计,才是避免OOM的关键。记住十个字:分批查、流式写、及时释放。不要迷信任何框架的"自动优化"。理解数据流转的每一步,才能写出真正扛得住生产的代码。你在项目里用的分批大小是多少?有没有遇到过导出到一半超时的情况?评论区聊聊,我逐条回复。如果觉得有用,点个「在看」转发给团队里的兄弟,少一个OOM,多一次准点下班。
2026-08-31 08:43:49
28
转载 微服务接口聚合调用,我用 AsyncTool 替代了 CompletableFuture
每个 Worker 都要实现IWorker(执行业务)和ICallback(回调通知),这样框架在执行前后会主动调用你。@Override public void begin() { // 这里打点,可以配合 MDC 塞 traceId log.info("UserWorker start, thread: {}", Thread.currentThread().getName());
2026-08-03 10:51:13
26
转载 Knife4j 4.4 + Spring Boot 3:OpenAPI3文档配置与Bearer认证集成
Spring Boot 3这一刀切下来,老项目的Swagger2(SpringFox)直接不能用了。原因很简单——Spring Boot 3把javax.*全换成了jakarta.*,SpringFox依赖的还是,依赖一拉进来就报ClassNotFound。SpringFox官方也基本停止维护了,社区里只能找到一些fork版本,谁敢往生产上引。剩下两条路:SpringDoc和Knife4j。SpringDoc是OpenAPI3的原生实现,维护活跃,Spring Boot 3支持得很好。
2026-07-06 13:49:50
36
转载 百万级数据导入导出:踩了5次OOM后,我终于掌握了EasyExcel的正确姿势
Data@ExcelProperty(value = "订单号", index = 0)@ExcelProperty(value = "用户姓名", index = 1)@ExcelProperty(value = "手机号", index = 2)@ExcelProperty(value = "订单金额", index = 3)@ExcelProperty(value = "订单状态", index = 4)
2026-05-22 08:42:24
61
转载 DeepSeek V4 + Spring Boot 3 + JDK 21 :万字实战教你打造AI智能编码助手
技术组件版本核心价值JDK21 LTS虚拟线程(降低I/O阻塞)、结构化并发、模式匹配3.5.x+原生支持虚拟线程、AOT编译优化启动速度Spring AI1.0.3+统一AI接入抽象、ChatClient + Advisor体系Maven3.9+依赖管理Redis(可选)7.x会话缓存、速率限制。
2026-05-22 08:41:21
138
转载 Java百万在线用户消息推送:彻底解决积压、延迟,新手也能看懂
其实100万在线用户推送,核心逻辑并不复杂,记住这3个关键点:拆分任务:把100万拆成小批量,匀速推送,不集中压垮服务器;缓冲减压:用RabbitMQ做消息队列,解耦业务和推送,避免消息丢失、积压;兜底保障:加重试机制和监控告警,解决漏推、积压问题。上面的代码的都是可直接复制套用的,新手只要跟着步骤来,就能搞定,不用怕复杂。最后互动一下:你在做消息推送时,还遇到过哪些问题?比如WebSocket推送不稳定、队列积压处理不了?欢迎评论区留言~
2026-05-19 16:16:25
82
转载 Java高并发点赞计数方案:100万赞→取消50万→再赞100万,如何保证数据绝对准确?
/ 消息队列主题(用于异步同步到MySQL) public static final String LIKE_QUEUE = "like.sync.queue";
2026-05-19 16:08:28
37
转载 秒杀订单创建太慢?这4种方案让响应时间降低90%
秒杀订单处理的核心是异步解耦和可靠性保障异步创建订单:Redis快速响应,MQ异步落库消息可靠性:本地消息表 + 重试机制 + 幂等消费状态一致性:状态机管理 + 定时对账 + 补偿机制用户体验:快速响应 + 状态查询 + 超时提示选择方案时要根据业务场景权衡:对一致性要求高选分布式事务,对性能要求高选异步方案。下期预告:秒杀系统的监控与运维,如何构建完整的可观测性体系?
2026-05-19 16:07:40
39
转载 大文件分片上传实战:秒传、断点续传完整方案
Data// 0:秒传 1:需要上传@Data@Data前端计算大文件MD5时,一次性读取整个文件,内存占用GB级别,页面直接崩溃。解决方案:增量计算i++) {分片上传解决了传统上传的三大痛点:功能解决的问题实现方式分片上传超时断开、网络波动文件切块,逐个上传断点续传失败重新传Redis记录分片状态秒传重复上传浪费MD5唯一性校验核心要点:分片大小:5MB,平衡效率与重传成本MD5计算:增量计算,避免内存溢出。
2026-05-13 08:27:15
94
转载 Spring AI Alibaba框架入门笔记
因此Spring AI Alibaba提供了一个ReactAgent的类,这个类中可以包含:ChatModel(大模型)、Tools(工具)、Memory(记忆功能)、Hooks和Interceptor(在模型调用前后引入逻辑)、RAG(检索增强生成)、MCP等等。模型本身是没有记忆功能的,你告诉模型你的名字后,再次询问它,它还是不知道你的名字。入门级教程,简单介绍框架基础组件的使用,包括大模型接入、智能体、工具、记忆、RAG 及 MCP 等核心模块的基本用法。那么这样的一个消息就属于多模态的消息。
2026-05-11 08:32:20
73
转载 阿里二面:1000万条短信1小时发完,线程池怎么配?
核心线程:200最大线程:500队列:5000每批次:50条完全可以支撑:1000万条短信 / 1小时发送完成。
2026-05-11 08:31:33
45
转载 全场景实战:Spring Boot + MDC:实现异步线程池链路追踪
SpringBoot 默认异步线程池基于 ThreadLocal 实现的 MDC 上下文,无法自动传递至子线程,导致请求链路 traceId 丢失。本文基于自定义 ThreadPoolTaskExecutor 线程池,结合 MDC 任务装饰器实现上下文自动透传,解决跨线程日志链路追踪问题,适配多接口并行聚合的生产实战场景。任务执行时:现在,在子线程中 MDC.get("traceId") 返回 "abc-123"!当任务在子线程中启动时:保存任何现有的 MDC(以防万一),然后恢复父线程的 MDC。
2026-05-09 17:02:15
53
转载 告别Filter!Spring Boot 轻松实现 Request Body 重复读取
这是因为 HTTP 请求体是一个输入流(InputStream),一旦被读取,流就会关闭,后续再次尝试读取时,流已经处于结束状态,无法再次获取数据。要解决请求体只能读取一次的问题,通常我们会通过 Filter + 自定义 HttpServletRequestWrapper 的方式实现请求体的多次读取。上面实现的自定义参数解析器,我们不能通过自定义 WebMvcConfigurer。这样我们就替换了默认的实现,而对于原有的功能没有任何的影响。本篇文章,我们将通过一种新的方式实现请求体的多次读取。
2026-05-09 17:01:07
45
转载 Java获取手机号归属地、运营商:libphonenumber包
很多场景会根据用户手机号,获取归属地、运营商,在线API收费高、效率低;推荐一个离线包libphonenumber。开源地址:https://github.com/google/libphonenumber是 Google 开源的全球电话号码处理标准库,支持三大语言,核心能力是解析、验证、格式化、归属地 / 运营商查询,内置 200+ 国家 / 地区规则,是 Android 系统内置组件,也是企业级国际号码处理的事实标准。最新的号段可能更新不及时,可以考虑更新一下jar包版本号。
2026-05-05 11:54:10
119
转载 SpringBoot 接口签名验证(AppKey/Secret
用于公开接口、健康检查接口、测试接口,无需经过签名校验,灵活放行。/*** 接口免签名校验注解* 标注在Controller方法上,直接放行所有请求*/
2026-05-05 11:53:30
71
转载 SpringBoot 接口签名验证(AppKey/Secret)
用于公开接口、健康检查接口、测试接口,无需经过签名校验,灵活放行。/*** 接口免签名校验注解* 标注在Controller方法上,直接放行所有请求*/
2026-04-25 14:43:19
58
转载 Spring Boot 实现接口防止重放攻击验证(时间戳 + 随机数 + 签名)
没有奇迹,只有你努力的轨迹;没有运气,只有你坚持的勇气。101篇原创内容公众号。
2026-04-22 09:04:53
100
转载 Spring Boot 快速实现短链接生成,从零到一完整教程
大家好,我是波特~日常开发里,短链绝对是高频场景:短信营销、公众号分享、二维码跳转、数据统计…… 都离不开它。今天咱们不玩虚的,直接从 0 到 1用 Spring Boot 撸一个可上线的短链系统,包含,复制粘贴就能跑!
2026-04-22 09:03:47
86
转载 18、Spring Boot 3.2.5 + JDK17 对接钉钉机器人发送消息完整实现
** * 钉钉机器人消息基础模型 */@Data@Builder@NoArgsConstructor@AllArgsConstructor@JsonInclude(JsonInclude.Include.NON_NULL)public class DingTalkMessage { /** * 消息类型 */ @JsonProperty("msgtype") private String msgType;/** * 文本消息 */ private Text text;
2026-04-15 16:40:42
127
转载 还在用一堆 if-else 做权限?这才是 Java 权限的正确打开方式!
想象一下周末你来到了一个超大型游乐园。在入口处,保安会拦住你,要求你出示身份证或者刷脸,确认“你是谁”。这个确认身份的过程,在Java安全领域有个专门的名词叫。但你进了大门后,并不意味着你可以为所欲为。当你跑到“狂暴过山车”项目前,工作人员会看一眼你的手环——如果你买的是普通票,他会对你说:“抱歉,这个项目仅限VIP”;而如果你走向了“旋转木马”,普通票就可以直接放行。这个“检查你手环能不能玩某个具体项目”的过程,就叫做,也就是我们常说的。
2026-04-09 17:32:55
62
转载 16、Spring Boot 3.2.5 整合 Sa-Token 1.44.0 完整教程
/ 0-禁用 1-正常 private Integer userType;// 用户类型 private LocalDateTime createTime;/** * 自定义权限注解 */@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, ElementType.TYPE})public @interface RequirePermission { String[] value();
2026-04-06 18:15:43
149
转载 SpringBoot 实现 PDF 添加水印有哪些方案
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。Free Spire.PDF for Java 是一款免费的 Java PDF 库,它提供了一个简单易用的 API,用于创建、读取、修改和提取 PDF 内容。Aspose.PDF for Java 是一个强大的 PDF 处理库,提供了添加水印的功能。
2026-04-06 18:14:33
57
转载 x-easypdf:Java一站式 PDF 解决方案
x-easypdf算是目前Java生态里比较完善的国产PDF解决方案了。如果你正在被PDF处理困扰,不妨试试看。项目文档很详细,还有大量示例代码,上手成本不高。• 项目源码:https://gitee.com/dromara/x-easypdf• 官方文档:https://x-easypdf.cn/
2026-04-03 16:36:14
189
转载 RBAC已过时?深入拆解“多租户+数据权限”的系统设计与落地
记录的是 **"创建数据时创建人所属的部门"**,不会随用户部门变更而改变。这种情况下,数据权限范围选择 **"自定义"**,然后勾选这3个部门。能查看华东销售部、上海分部、杭州分部的数据。创建系统内置权限(菜单、按钮、接口),与功能权限(能不能操作)配合使用。创建默认角色(管理员、普通用户)数据权限控制用户能看到/操作哪些。销售员工:只能看到自己负责的订单。:菜单权限、按钮权限、数据权限。区域总监:能看到多个区域的订单。只能查看自己创建/负责的数据。但不能看华南区、华北区的数据。
2026-04-03 16:35:35
57
转载 kiro相关配置,让你跟idea一样顺手
这份教程专门针对 **Kiro 自身IDE的全局配置**,全程对标 IDEA 原生体验,从界面布局、快捷键、编辑器行为、项目视图、运行调试到细节优化,一步步改成和 IDEA 高度一致的用法,零学习成本直接上手,适配 Windows/Mac 双系统,所有配置永久生效,切换项目无需重复设置。如果导入后个别快捷键失效,重启 Kiro 即可恢复。窗口切换:设置 Alt+数字 快速切换工具窗口(Alt+1=项目栏,Alt+4=运行,Alt+5=调试,Alt+7=结构),完全复刻 IDEA 快捷键逻辑。
2026-04-03 16:13:12
643
转载 SpringBoot 实现 Excel 导入导出,性能爆表,用起来够优雅!
EasyExcel是一款阿里开源的Excel导入导出工具,具有处理快速、占用内存小、使用方便的特点,在Github上已有22k+Star,可见其非常流行。EasyExcel读取75M(46W行25列)的Excel,仅需使用64M内存,耗时20s,极速模式还可以更快!体验了一把EasyExcel,使用还是挺方便的,性能也很优秀。但是比较常见的一对多导出实现比较复杂,而且功能也不如EasyPoi强大。
2026-03-25 10:02:42
89
转载 4、搭建微服务认证中心(microservice-auth)
功能模块实现技术特点用户认证无状态认证,支持分布式部署密码加密强度可调,安全性高权限管理RBAC模型支持角色、权限多级授权验证码Redis缓存多种类型,防暴力破解登录保护Redis计数防止暴力破解,自动锁定会话管理分布式会话,Token自动续期安全审计AOP切面完整登录日志记录跨域支持CORS配置支持前后端分离部署API文档Knife4j在线API文档,调试支持。
2026-03-25 10:01:41
148
转载 积分商城兑换架构设计:积分与现金混合支付
混合支付,考验的是交易系统一致性与清结算能力。做好了是增长引擎,做不好就是财务黑洞。正常流程谁都能做,否处理好那1%的异常,才是真正分水岭。真正的架构师,用代码画图。我把本文同款的 AI 绘图工具包 (MDC规则 + 100款源码) 已上传至知识星球。加入星球,免费领取。从此,画出一张企业级架构图,只需要一句话。▲ 添加微信:JiteStart,获取架构资料往期推荐AI架构图别再用手画图了!看看字节研发怎么用AI画图我是怎么画架构设计图的?架构设计。
2026-03-13 09:07:17
227
转载 积分商城的兑换架构设计(二):复杂场景金额计算与对账
架构设计,往往是成于宏观,死于细。混合支付的宏观流程并不复杂,但正是优惠券的优先级、运费的特殊性、汇率的快照处理、以及对账的兜底机制,决定了一个系统的健壮性。真正的架构师,用代码画图。我把本文同款的 AI 绘图工具包 (MDC规则 + 100款源码) 已上传至知识星球。
2026-03-13 09:06:17
222
转载 SpringBoot 集成微信支付V3完整实现方案
永远不要相信回调:回调可能丢失、可能重复、可能延迟8小时。必须配合主动查单做双保险。证书管理自动化:无论是公钥模式还是平台证书模式,都要考虑证书过期的问题。最好加个监控,证书快到期时报警。异常处理要精细:不同异常要有不同的处理策略。网络超时重试、验签失败直接拒绝、业务异常返回500让微信重试、重复订单返回200告诉微信别再发了。上线前检查清单[ ] 服务器时间已同步(NTP)[ ] 商户API证书未过期[ ] 微信支付公钥/平台证书已配置[ ] APIv3密钥正确且未泄露。
2026-03-13 09:04:42
146
转载 对象存储封神指南:Java 后端实现 OSS 分片上传 + 重复校验 + 防毒
通过本文,我们实现了完整的OSS 文件上传全链路安全架构✅ 高性能分片上传(并行 + 重试) ✅ 内容去重与缓存机制(Redis + Hash) ✅ 文件安全防护(扩展名 + MIME + 文件头) ✅ 病毒检测与隔离机制(动态安全扫描)不仅支持阿里云 OSS,也可无缝迁移至MinIO、AWS S3、腾讯 COS等兼容服务。
2026-02-04 08:59:14
93
转载 SpringBoot的5种签到打卡实现方案
在各类现代应用开发场景中,签到打卡功能是提升用户粘性、记录用户行为的核心模块,广泛应用于企业考勤、在线教育、社区运营等领域。本文将从技术实现角度,详细拆解5种适用于不同场景的签到打卡方案,涵盖传统数据库方案、高性能Redis方案、省空间的Bitmap方案、基于地理位置的精准签到方案等,每个方案均附完整代码实现与场景适配分析。关系型数据库(如MySQL、PostgreSQL) 是实现签到系统最基础的方案,核心逻辑是通过数据表记录用户每次签到行为,再通过统计逻辑计算总签到天数、连续签到天数等指标。该方案的核心优
2026-02-04 08:58:28
185
转载 百万数据导出无 OOM!EasyExcel 实战指南(附开箱即用工具 / 代码)
EasyExcel 的分页写入机制,是征服海量 Excel 导出的利器。
2026-01-12 08:53:20
221
转载 接口请求合并:低成本提升系统性能的实用方案
开发成本低:无需重构现有4个业务接口,仅需新增1个合并接口,前端适配工作量极小;兼容性强:适配Web、移动端等多种场景,弱网环境下页面加载耗时从3秒降至500ms左右;维护成本低:前端仅需维护1个加载状态和错误处理逻辑,后端统一管理接口依赖;容错性高:如优惠券接口故障,仅优惠券模块不展示,不影响订单基础信息、商品列表等核心功能。
2026-01-07 11:48:50
71
转载 封装一个多级菜单、多级评论、多级部门的统一工具类
你能看到很多人都在介绍如何实现多级菜单的效果,但是都有一个共同的缺点,那就是没有解决代码会重复开发的问题。如果我需要实现多级评论呢,是否又需要自己再写一遍?为了简化开发过程并提高代码的可维护性,我们可以创建一个统一的工具类来处理这些需求。在本文中,我将介绍如何使用SpringBoot创建一个返回多级菜单、多级评论、多级部门、多级分类的统一工具类。数据库设计「主要是介绍是否需要tree_path字段。多级节点的数据库大家都知道,一般会有id,parentId字段,但是对于tree_path。
2026-01-07 11:48:14
38
interface使用
2011-02-06
新闻发布系统(jsp+ajax+oracle+java+javascript)
2011-07-10
航空订票系统(jsp+java+sqlserver+spring+servlet+strut)
2011-07-12
购物系统(shopping)用到的技术有(jsp+servlet+java+sqlerver+strut)
2011-07-09
springmvc+mybatis+mysql+log4j.xml+logjdbc+maven+nexus+dubbo
2017-05-10
springmvc+mybatis+mysql+log4jdbc+excel 实现sql日志输出和excel导出
2017-05-09
火车站售票系统.(java+oracle+jsp+javascript)
2011-07-09
网上书店系统(java+sqlserver+jsp+servlet+strut+spring)
2011-07-09
接口的详解,是你很容易学习接口
2011-03-08
企业电子商城系统(jsp+servlet +strut+sqlserver)
2011-07-09
权限管理系统
2013-03-23
物流信息网(jsp+sqlserver+servlet+strut)
2011-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅