作者小头像 Lv.2
更多个人资料
114 成长值
0 关注
0 粉丝
+ 关注 私信

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
105
9
0
0
0

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

暂无数据

达成规则

以上满足项可达成此勋章

  • 博客
  • 关注
  • 粉丝
  • 论坛
全部时间
全部时间
最近三天
最近一周
最近一月
  • 全部
  • 暂无专栏分类
库存扣减场景下分布式锁的CAP权衡与Base落地
去年大促期间,库存服务因分布式锁失效触发超卖故障,复盘过程中重新梳理了CAP定理的适用边界与Base理论的落地路径,最终形成一套兼顾性能与一致性的锁实现方案。 故障回溯:CAP权衡的初始误区 当时库存扣减采用单节点Redis实现分布式锁,默认将Redis归类为CP组件,未考虑主从异步复制的延迟风险。大促流量峰值时主节点宕机,从节点未同步最新的锁数据,多个请求同时获取到锁,...
云原生 云计算
作者小头像 yd_214041702 2026-10-25 14:38:21
3
0
0
2026-10-25 14:38:21
3
0
0
用户鉴权接口单元测试的Mock覆盖与防御加固
近期用户中心鉴权接口迭代中,因单元测试覆盖不足导致未授权访问漏洞上线,复盘后梳理出单元测试Mock规范与安全加固的落地要点。 生产故障回溯:鉴权逻辑的测试盲区 该鉴权接口负责校验Token有效性、用户状态及权限范围,原有单元测试仅覆盖正常授权路径,Mock时仅预设了用户状态正常、权限校验服务返回通过的返回值,未覆盖用户禁用、Token过期、权限服务超时三类边界场景。上线后...
云原生 云计算
作者小头像 yd_214041702 2026-10-24 11:59:02
5
0
0
2026-10-24 11:59:02
5
0
0
支付回调链路状态迁移重构:从散点判断到状态模式落地
电商支付回调链路在迭代3个支付渠道后,状态判断逻辑散落在4个服务共12处ifelse分支,新增渠道时漏改逻辑导致订单状态异常率达0.3%,核心问题是状态迁移逻辑与业务处理逻辑未分离,耦合度极高。 原实现耦合痛点与源码根因 旧实现基于枚举存储回调状态,但状态处理逻辑与枚举定义强耦合,典型代码片段如下: java // 旧实现散落在各业务服务 if callbackSt...
云原生 云计算
作者小头像 yd_214041702 2026-10-24 11:17:52
5
0
0
2026-10-24 11:17:52
5
0
0
年轻代晋升异常故障排查与JVM分代调优实践
生产环境某交易服务偶发Full GC,非大促高峰期触发,GC日志显示YGC后老年代内存持续增长,排查发现为年轻代Survivor区配置过小导致对象提前晋升。 生产故障现象 服务默认JVM配置为Xms4g Xmx4g Xmn4g XX:SurvivorRatio=8,即年轻代总大小4g,两个Survivor区各200m,Eden区400m。GC日志统计显示,YGC后老年代内...
Java 云计算
作者小头像 yd_214041702 2026-10-24 10:05:28
3
0
0
2026-10-24 10:05:28
3
0
0
高并发迭代下ArrayList隐性故障与优化
上周排查订单状态批量更新接口的随机故障时,定位到根因是开发人员误用ArrayList于多线程迭代场景,同时未正确处理subList视图的隐性引用,最终导致偶发ConcurrentModificationException与高峰期OOM。该问题在迭代处理全量数据的业务场景中具有普遍性,往往因ArrayList的日常使用频率高而被忽视底层机制的约束。 ArrayList的fail...
Java 云计算
作者小头像 yd_214041702 2026-10-23 13:38:51
8
0
0
2026-10-23 13:38:51
8
0
0
金额计算中 BigDecimal 的几个细节
金额计算中 BigDecimal 的几个细节Java 中处理金额时,使用 double 容易遇到精度问题。例如,0.1 + 0.2 的结果并不总是恰好等于 0.3。这是因为浮点数采用二进制表示,部分十进制小数无法被精确存储。创建 BigDecimal 时,尽量从字符串构造,不要直接传入 double:BigDecimal price = new BigDecimal("19.90");Bi...
作者小头像 yd_214041702 2026-10-22 11:10:17
8
0
0
2026-10-22 11:10:17
8
0
0
Java线程池配置中的几个实际问题
Java线程池配置中的几个实际问题在 Java 服务中,线程池通常用于隔离任务、控制并发量。不过,使用 Executors.newFixedThreadPool() 创建线程池虽然方便,它内部使用无界队列。任务提交速度持续高于处理速度时,队列可能不断增长,最终占用大量内存。因此,生产环境更适合根据业务特点显式创建 ThreadPoolExecutor。线程池的任务调度顺序容易被忽略:线程数...
Java 任务调度
作者小头像 yd_214041702 2026-10-21 16:23:39
11
0
0
2026-10-21 16:23:39
11
0
0
用 CompletableFuture 时,别漏掉异常处理
用 CompletableFuture 时,别漏掉异常处理在 Java 项目里,CompletableFuture 常被用来并行调用多个接口。代码看起来简洁了,但异步任务里的异常不会像普通方法调用那样直接出现在当前线程中,处理不当时,问题可能一直到 join() 才暴露出来。下面这段代码可以并行查询用户和订单:CompletableFuture<User> userFuture = ...
任务调度
作者小头像 yd_214041702 2026-10-20 10:33:50
17
0
0
2026-10-20 10:33:50
17
0
0
Java 21 虚拟线程的运行机制与迁移注意事项
# Java 21 虚拟线程的运行机制与迁移注意事项Java 21 正式发布的虚拟线程(Virtual Threads,Project Loom)改变了 Java 长期依赖的 1:1 操作系统线程模型。在处理高并发、I/O 密集型业务时,虚拟线程能够以极低的资源开销提升系统的整体吞吐量。然而,将现有项目迁移到虚拟线程并非只是简单替换 `ExecutorService` 实现,如果不理解其底层...
Java 任务调度 虚拟化
作者小头像 yd_214041702 2026-10-19 15:13:25
24
0
0
2026-10-19 15:13:25
24
0
0
https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
作者小头像
作者小头像
快速交付
+ 关注