并发累加金额的丢失更新与超扣:一条 SQL 的解法
分次扣款场景下,paid_amount 用「读-改-写」更新会导致丢失更新和超扣。本文分析成因,并给出一条带条件的原子增量 UPDATE 如何在数据库层根治问题,以及为何不必引入版本号。
共 6 篇文章
分次扣款场景下,paid_amount 用「读-改-写」更新会导致丢失更新和超扣。本文分析成因,并给出一条带条件的原子增量 UPDATE 如何在数据库层根治问题,以及为何不必引入版本号。
JDK 12 到 17 的核心特性详解:Switch 表达式、文本块、Records、Pattern Matching、Sealed Classes,到 JDK 17 LTS 集大成。配代码示例。这是 JDK 8-21 特性系列的第二篇。
JDK 18 到 21 的核心特性详解:UTF-8 默认编码、Simple Web Server、Virtual Threads、Sequenced Collections,到 JDK 21 LTS 正式落地虚拟线程。含完整版本选择建议。这是 JDK 8-21 特性系列的第三篇。
JDK 8 到 11 的核心特性详解:Lambda、Stream、Optional、新日期时间 API、模块化系统 Jigsaw、var 类型推断、HTTP Client API,配代码示例。这是 JDK 8-21 特性系列的第一篇。
Maven 是 Java 项目管理和构建自动化的核心工具,本文介绍 Maven 的安装配置、项目结构、常用命令、依赖管理等核心知识点
详解 Maven settings.xml 配置文件的各个标签含义、常用配置示例及最佳实践