订单超时取消别再答"定时任务"了!千万级数据下,这才是标准答案
从定时任务到时间轮,订单超时取消的四档演进。答错一档,挂一档。一、引子:一道送命题,挂掉一片人字节二面,面试官笑着问:"订单30分钟未支付自动取消,你怎么实现?"Candidate A:"用定时任务,每分钟扫一次数据库,把超过30分钟的订单取消掉。
Spring Boot并发格式化时间报错,原来是SimpleDateFormat惹的祸
最近发现了一个挺实用的 AI 学习网站,内容覆盖 AI 基础知识和相关教程,讲得比较直白易懂。想了解 AI 的可以顺手看看 https://www.captainbed.cn/xfSimpleDateFormat 当成员变量共享,并发一上来就开始抛异常或者格式化出错误结果。
那些有用但不为大家所熟知的 Java 特性
本文最初发表于 Piotr Mińkowski 的个人站点 Medium 网站,经作者授权,由 InfoQ 中文站翻译分享。
java8一些常用的新特性
1:Lambda介绍Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。
DateTimeUtil:Java 日期时间处理工具类
日期时间处理是 Java 开发中最常见的任务之一。用 SimpleDateFormat 怕线程不安全,用 Calendar 写起来啰嗦,用 java.time API 又记不住方法名。
日期时间处理从混乱到清晰:Java 8+ Time API完全指南
旧API的三大致命缺陷Java 8之前,Date、Calendar、SimpleDateFormat是日期时间处理的“三件套”,但它们的设计堪称灾难:线程不安全:SimpleDateFormat内部共享Calendar实例,多线程并发时直接数据错乱API反人类:Date年份从19
Java 8时间类,越用越香
java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。
计算机时间入门——为啥电脑要“管时间”?两种核心时钟初揭秘
平时用电脑、手机,我们习以为常的“时间显示”,背后藏着计算机的一套精密逻辑。你有没有过这样的疑问:为什么手机闹钟能精准响起?为什么文件修改后会留下准确时刻?为什么分布式系统里,时间不准会导致转账出错?
线上日期突然跳到1970年,罪魁祸首竟是SimpleDateFormat
交易系统核心接口大面积报错,DBA 查数据库时间戳一切正常,NTP 同步没问题,服务器时区配置也没动过。但日志里密密麻麻的订单创建时间全是 1970年1月1日——有的甚至是 2037年。更诡异的是,流量降下来之后,错误自己消失了。第二天凌晨三点,准时复发。