ThinkPHP 8 常驻内存踩坑实录:Workerman 下用户数据串号的完整排查与修复
上周三下午三点多,客服在群里甩了张截图:A 用户点开"我的订单",页面上显示的却是另一个用户的手机号和收货地址。刷新一下…
JDK 24 Stream Gatherers 实战:批处理、滑动窗口、并发映射一条流搞定
上个月把一个对账任务从 JDK 17 升到 JDK 24,最想动的地方不是虚拟线程,而是那段用 for 循环加临时 Li…
把 3 秒的支付回调砍到 200 毫秒:ThinkPHP 8 队列从零落地
上周接了个紧急工单。用户投诉说支付成功了但优惠券没到账,客服查了后台发现订单状态是「已支付」,但券确实没发。翻日志,支付…
ThinkPHP 8 接口幂等实战:一次重复下单,改了三处代码
先说背景。项目上线两周后,运营在群里发了一张截图:同一个用户,同一个商品,一分钟内产生了三笔订单,状态都是「待支付」,金…
Java Stream Gatherers 实战:滑动窗口、按 key 去重与会话切分怎么写
先讲个具体的活儿。一批用户行为日志,需要把同一用户间隔 30 秒以内的请求归成一个会话,输出每个会话的开始时间、结束时间…
Java 25 紧凑对象头实测:同一个类,为什么内存降了 25%,另一个却一分没省
先说触发这件事的原因。 我们有个订单聚合服务,职责不复杂:从上游拉订单主表,关联出订单项、优惠信息、物流节点,组装成一个…
