CompletableFuture 超时了,后台任务为什么还在跑
get 等待超时、Future 进入取消状态和工作线程实际退出,是三件不同的事。用 Java 8 实测对比 CompletableFuture 与普通线程池 Future 的 cancel(true),再说明中断、总预算、底层 I/O 和并发名额该怎样衔接,避免接口已经返回、后台工作却持续积压。
get 等待超时、Future 进入取消状态和工作线程实际退出,是三件不同的事。用 Java 8 实测对比 CompletableFuture 与普通线程池 Future 的 cancel(true),再说明中断、总预算、底层 I/O 和并发名额该怎样衔接,避免接口已经返回、后台工作却持续积压。
df 显示磁盘占用很高,du 却找不到大文件,可能是进程仍持有已删除的文件。用一个实测的 8 MiB Linux 小实验说明名字、inode 和文件描述符的关系,再给出 lsof 与 /proc 的核对方法,以及日志重新打开、轮转和空间恢复的验证步骤。
炊想从一道菜出发,帮你选菜、排菜单、合并买菜清单,再按步骤做饭。首页每小时推荐一道现成菜,灵感先挑选再搭配;「我的厨房」记录家人口味、冰箱库存和做过的菜,支持问做法、拍照识食材、菜单单道换菜,会员还能排一日三餐、统筹多菜并与家人共享。本文介绍 3.1.0 的使用流程、免费与会员权益,以及登录、邀请和失败后恢复的方式。
本文根据两个仓库共 809 条 Git 提交整理,记录这个博客从 2023 年 1 月第一次进入 Git 到 2026 年 10 月的完整演进:2023 年从零到可用;2024 年补齐七牛封面、登录封禁、评论审核与缓存;2025 年围绕评论系统深度重构;2026 年上半年引入 AI 问答与 AI 评论审核;7 月并入 total 聚合工程后,又经历了界面重做、自托管字体与图表、评论 AI 容错,9 月一轮集中的性能、可靠性治理和六套主题,以及 10 月接入炊想小程序的后台、重做后台界面、修掉一处存储型 XSS 并把前端重复实现合并成一份。 炊想部分补充至 3.1.0:家庭厨房、库存、问答、拍照识别、菜单换菜、多菜统筹与每小时推荐;原 blog 提交统计口径保持不变。
记录炊想 2.0.16 如何用微信身份、复用用户表、分享邀请和转化埋点拆掉邮箱注册墙,并对照当前 3.1.0:先浏览,主动勾选协议后微信登录,邮箱可选绑定或找回原账号,邀请双方各得 10 次搭配。历史游客方案与现行登录流程分别说明。
保留 RestTemplate 流式读取中按有效输出、繁忙退避和剩余时间决定重试的排查,并补充当前实现:结果校验与限次修复、优先通道回退、异步任务恢复,以及菜单、问答和照片识别的边界。原通道参数与当前各功能预算明确区分,避免把读超时当作整次生成的硬上限。
换到流萤主题后,代码块里多出两种颜色:每行有字的地方垫着一块底色,折叠时底部渐隐和「展开全部」条偏蓝。原因都是组件底座写死了藏青色,而主题的代码底色换了。本文记录排查和修法:行内元素的背景为什么一行一画;想保留渐隐曲线只换颜色时用 color-mix,以及带 var() 的 color-mix 在旧浏览器里会整条失效、兜底必须写在后面的 @supports 里;用自写 PNG 解码逐像素比较,证明其它主题一个像素都没变;Playwright 定位器重新查询造成的假「点了没反应」;AI 助手黑夜里的同类问题。
本篇面试指南围绕系统设计与实现展开,涵盖项目亮点、零拷贝原理、五大IO模型及NIO与多路复用区别、Future阻塞获取结果机制、ReentrantLock 与 synchronized 的实现与差异、AQS、乐观/悲观锁、Paxos 协议、B+树特性、TCP 拥塞控制、JVM 实践、数据库分库分表及其缺点、分布式事务(TCC)方案、RocketMQ 消息可靠性保证,以及常见算法题。通过概念阐释与实现细节,帮助读者系统复习面试热点。
记录炊想分享卡片在发出方正常、接收方却被降级的排查,区分签名校验失败与图片加载失败。结合 3.1.0 说明同步分享对象、具体做法版本、缩略图兜底,以及首次微信登录后双方各得 10 次的邀请规则。
旧版炊想在部分真机上从文本框切到密码框时会丢失焦点。本文保留事件日志、原生输入对照实验和延后聚焦的补救过程,并更新当前状态:3.1.0 使用主动确认协议后的微信登录,原账号密码表单已经下线,历史补救代码不再用于登录页。