刚开始学 Spring 的时候,“控制反转”和“依赖注入”这两个词让我困惑了很久。字面意思都认识,但合在一起就不知道在说什么。直到我自己用普通 Java 写了一段代码,再对比 Spring 的写法,才慢慢体会到它们想解决的问题其实很朴素:对象之间的依赖关系,究竟应该由谁来负责建立。 在不用 Spri ...
还在被百万级Excel导入导出OOM、接口超时、性能卡顿问题困扰?本文摒弃传统POI UserModel模式,基于流式处理+分批操作+异步MQ+资源隔离大厂范式,采用EasyExcel+SXSSF实现读写优化。搭配多线程分片、JDBC批量入库、OSS文件存储等方案,100万数据处理仅需25秒,性能提... ...
最近在给公司的实名认证服务重写 Java 接入层,过程中把官方 Demo、网上流传的工具类挨个过了一遍,发现能跑和能上生产之间差的东西还不少:编码、超时、null 传播、密钥管理,每一项都是真实翻车点。整理成这篇,从签名工具类写到完整调用,供同样要接这类接口的朋友参考。 背景:这是个什么接口 身份证 ...
本文针对微服务聚合场景下 `CompletableFuture` 并行调用的三大痛点(allOf 异常屏蔽、超时阻塞全局、线程池相互污染),深入剖析底层机制,并提供一套基于 Java 17/Spring Boot 3 的超时熔断、异常降级与自定义隔离线程池的高可用编排方案。 ...
学习并发编程的时候,线程池是一个绕不开的话题。刚开始我以为它只是“预先创建一批线程,有任务就拿来用”这么简单,直到真正去读 ThreadPoolExecutor 的源码和文档,才发现它的核心其实是一组互相配合的参数。理解这些参数各自管什么,比记住“用线程池比直接 new Thread 好”这句话要有 ...
详解 10G 大文件上传完整落地方案,采用分片并发、断点续传、秒传能力。前端 WebWorker 增量哈希 + Promise 并发池;后端基于 MinIO+Redis+RabbitMQ,搭配零拷贝合并、分布式锁。附带 Java/JS 核心代码与面试问答,覆盖性能优化、异常兜底,可直接用于生产。 ...
学习 Java 并发时,volatile 是我最早遇到、也最容易理解错的关键字之一。刚看到它的时候,我以为它和 synchronized 差不多,都是用来保证线程安全的,甚至一度觉得只要给共享变量加上 volatile,多线程环境下的并发问题就都解决了。直到认真读了 Java 内存模型的相关内容,我 ...
目录 0. 从上一篇继续 1. 三种语言的锁规则分别保证什么? 2. 下一篇:互斥锁是怎么实现的? 本文首发于 ThinkerQAQ 的个人博客,由作者本人同步发布。 0. 从上一篇继续 这一篇直接从语言内存模型层的规则讨论 Mutex。 1. 三种语言的锁规则分别保证什么? 1.1 Java:sy ...
使用 Python Tkinter 与 AIGC 完成“一箭又一箭”飞剑主题小游戏,包含路径检测、五个可解关卡、碰撞动画、提示撤销、进度保存及完整测试记录。 ...
学习集合的时候,ArrayList 和 LinkedList 是我最先接触到的两个 List 实现,也是面试里经常被拿来比较的一对“老朋友”。它们都实现了 List 接口,从使用上看差别不大,都可以按顺序存放元素、按索引访问、支持增删改查。可一旦追问底层结构,区别就非常明显:ArrayList 基于 ...
写过一些 Python 服务和脚本后我发现,很多人(包括早期的我)一遇到"要并发"就凭感觉开线程:请求慢了开线程、算得慢了也开线程,跑起来才发现,IO 任务确实快了,可 CPU 密集的任务开了一堆线程反而更慢。问题不在并发本身,而在没搞清楚三种模型各自解决什么问题。 这篇把 threading、mu ...
Python 异步与并发深度实战:事件循环、GIL 突围与性能真相 并发不是"用哪个库"的选择题,而是"理解机器与语言模型"后的工程判断题。 为什么 2026 年我们还在纠结并发 如果你写过几年 Python,大概率经历过这样的场景:接口一上量就卡死,加了几十行 threading 代码反而更慢,换 ...
TDengine OSS 使用场景 IOT设备把时序数据(时间戳+测点值+设备标签)写入TDengine之后,主要做:时序查询、时间窗口聚合、实时告警、流式订阅、自动降采样等。核心模型是超级表Stable+子表(一个设备一张子表) 1.基础查询 -- 查询设备 d1001 在某个时间段的原始数据 S ...
长沙夏季炎热潮湿、冬季湿冷,新装修家庭除醛需求全年分布。本文从资质核验、施工工艺、质保体系、合同条款四个维度,对5家机构做横向实测对比,结合一线施工记录整理筛选要点,帮业主避开低价陷阱和口头承诺。 ...
详解高并发预约抢购排队机制面试方案,基于 Redis ZSET+Lua 实现原子有序入队,搭配 RocketMQ 顺序消息异步处理,Redis 预扣库存 + 数据库乐观锁双层防超卖。网关令牌桶限流、WebSocket 推送排队进度,引入 AI 风控识别黄牛。剖析 ZSET 内存瓶颈、Redis 分片... ...
学习 Java 的过程中,很多同学会把注意力放在语法、集合和框架上,却容易忽略 JVM 内部究竟发生了什么。最近我在复习垃圾回收时,才对“对象什么时候会被回收”这个问题有了更清楚的认识。它并不像表面看起来那么简单:并不是某个变量不再使用,对象就会立刻消失,而是需要虚拟机通过一套相对严谨的机制去判断。 ...
Manim Community Edition 发布了 v0.21.0 版本(2026 年 8 月 10 日),这是继 v0.20.1 之后的又一次功能型版本更新。 本次更新包含 2 项破坏性变更,以及多项值得关注的新特性和性能优化。 其中 Cairo 渲染器在动画密集场景下提速超过一倍,NumPy ...
给系统加定时任务,第一反应是找个 cron 库,写个表达式,跑起来。 能跑通。然后在某个凌晨,你会发现任务执行了两次,或者一次都没执行,或者上一次还没跑完下一次就开始了。 下面是几个跑到生产上才会暴露的问题。 一、多实例部署,任务会被执行 N 次 本地和单机上完全正常,一上负载均衡、服务扩到三个实例 ...
Keycloak Token Exchange + Impersonation(运维配置) 门户 GET /kc/exchange-token 新流程: 用请求头里的 WSO2 应用 access_token 调 mcp-admin:POST /internal/wso2/token/authz-u ...
详解企业全链路数据脱敏体系,对比掩码、哈希、加密等脱敏算法。基于 Spring AOP + 自定义注解 + 策略模式实现业务零侵入,结合 Spring Security 完成按角色动态脱敏;覆盖接口响应、Logback 日志、MyBatis 存储、大数据场景。附带核心源码,解决嵌套对象、Feign ... ...