刷新
Java学习随笔:Spring 的依赖注入到底解决了什么问题(2026-09-21)

博主头像 刚开始学 Spring 的时候,“控制反转”和“依赖注入”这两个词让我困惑了很久。字面意思都认识,但合在一起就不知道在说什么。直到我自己用普通 Java 写了一段代码,再对比 Spring 的写法,才慢慢体会到它们想解决的问题其实很朴素:对象之间的依赖关系,究竟应该由谁来负责建立。 在不用 Spri ...

百万数据Excel如何快速导入导出

博主头像 还在被百万级Excel导入导出OOM、接口超时、性能卡顿问题困扰?本文摒弃传统POI UserModel模式,基于流式处理+分批操作+异步MQ+资源隔离大厂范式,采用EasyExcel+SXSSF实现读写优化。搭配多线程分片、JDBC批量入库、OSS文件存储等方案,100万数据处理仅需25秒,性能提... ...

身份证核验接口 Java 版完整接入:签名工具类的三个细节与官方 Demo 的四个改进

最近在给公司的实名认证服务重写 Java 接入层,过程中把官方 Demo、网上流传的工具类挨个过了一遍,发现能跑和能上生产之间差的东西还不少:编码、超时、null 传播、密钥管理,每一项都是真实翻车点。整理成这篇,从签名工具类写到完整调用,供同样要接这类接口的朋友参考。 背景:这是个什么接口 身份证 ...

Java学习随笔:线程池的核心参数到底在管什么(2026-09-20)

博主头像 学习并发编程的时候,线程池是一个绕不开的话题。刚开始我以为它只是“预先创建一批线程,有任务就拿来用”这么简单,直到真正去读 ThreadPoolExecutor 的源码和文档,才发现它的核心其实是一组互相配合的参数。理解这些参数各自管什么,比记住“用线程池比直接 new Thread 好”这句话要有 ...

如何快速上传10G文件

博主头像 详解 10G 大文件上传完整落地方案,采用分片并发、断点续传、秒传能力。前端 WebWorker 增量哈希 + Promise 并发池;后端基于 MinIO+Redis+RabbitMQ,搭配零拷贝合并、分布式锁。附带 Java/JS 核心代码与面试问答,覆盖性能优化、异常兜底,可直接用于生产。 ...

Python 并发怎么选?一篇讲清 threading、multiprocessing、asyncio 的边界

写过一些 Python 服务和脚本后我发现,很多人(包括早期的我)一遇到"要并发"就凭感觉开线程:请求慢了开线程、算得慢了也开线程,跑起来才发现,IO 任务确实快了,可 CPU 密集的任务开了一堆线程反而更慢。问题不在并发本身,而在没搞清楚三种模型各自解决什么问题。 这篇把 threading、mu ...

TDengine OSS vs Doris 使用场景和功能对比

TDengine OSS 使用场景 IOT设备把时序数据(时间戳+测点值+设备标签)写入TDengine之后,主要做:时序查询、时间窗口聚合、实时告警、流式订阅、自动降采样等。核心模型是超级表Stable+子表(一个设备一张子表) 1.基础查询 -- 查询设备 d1001 在某个时间段的原始数据 S ...

Java学习随笔:JVM 如何判断对象可以被回收(2026-09-17)

博主头像 学习 Java 的过程中,很多同学会把注意力放在语法、集合和框架上,却容易忽略 JVM 内部究竟发生了什么。最近我在复习垃圾回收时,才对“对象什么时候会被回收”这个问题有了更清楚的认识。它并不像表面看起来那么简单:并不是某个变量不再使用,对象就会立刻消失,而是需要虚拟机通过一套相对严谨的机制去判断。 ...

定时任务上生产才会暴露的六个问题

博主头像 给系统加定时任务,第一反应是找个 cron 库,写个表达式,跑起来。 能跑通。然后在某个凌晨,你会发现任务执行了两次,或者一次都没执行,或者上一次还没跑完下一次就开始了。 下面是几个跑到生产上才会暴露的问题。 一、多实例部署,任务会被执行 N 次 本地和单机上完全正常,一上负载均衡、服务扩到三个实例 ...

数据脱敏是怎么做的

博主头像 详解企业全链路数据脱敏体系,对比掩码、哈希、加密等脱敏算法。基于 Spring AOP + 自定义注解 + 策略模式实现业务零侵入,结合 Spring Security 完成按角色动态脱敏;覆盖接口响应、Logback 日志、MyBatis 存储、大数据场景。附带核心源码,解决嵌套对象、Feign ... ...

<1234···50>