-
嵌套 asyncio.TaskGroup 发生异常时,内层任务组会先整理自己的 ExceptionGroup,外层再处理收到的异常与取消信号。本文用一个最小结构解释传播边界、except* 分流方式、取消例外和日志防复发规则。
-
DatagramChannel 非阻塞接收需要正确处理 receive 的 null 返回。本文用有限时长示例说明 Selector 注册、读就绪提示与缓冲区状态,区分无包、空包和截断。
-
Java HttpClient WebSocket 的接收节奏由 request(n) 控制回调次数,而不是由 CompletionStage 自动限流。本文结合 WebSocket.Listener 说明 request、last、CompletionStage、关闭和异常处理的边界,并给出单次与有限批量申请的选择方法。
-
Java Flow 背压的关键不是让 Publisher 自己变慢,而是让 Subscriber 通过 Subscription.request(n) 明确可接收数量,Publisher 只在需求量大于零时调用 onNext。本文用一个单订阅示例说明请求、发送、取消、完成和错误边界。
-
Java 19 引入的 Future.resultNow 适合读取已经成功完成的 CompletableFuture,而且不会等待。本文从状态判断、批量汇总、异常与取消边界出发,比较 resultNow、getNow 与 join 的选择。
-
Java FFM API 的 MemorySegment 生命周期由关联作用域决定。本文比较四类 Arena,用独立示例说明切片与关闭后访问,并明确跨线程借用和释放责任。
-
Java 模式 switch 不会让 null 自动落入普通类型模式。本文用 case null 和 case null, default 说明空值分支、default 兜底及非法组合边界,并给出一组最小反向验证清单。
-
Java 25 的紧凑源文件可以省略显式 class 声明,配合实例 main 直接运行单文件程序。本文说明最小写法、java 启动命令、参数选择规则和何时恢复普通类结构。
-
Java String.lines() 适合读取真实文本行,但不会把结尾换行符自动变成额外空记录。本文说明行结束符、连续换行和末尾空元素的差异,并用 split(regex, -1) 保留协议需要的尾部空记录。
-
Java WatchService 的 OVERFLOW 表示事件可能已被丢弃,不能把它当成具体文件名处理。本文说明如何按监听目录重扫、用快照和业务索引对账,并正确 reset WatchKey 与关闭 WatchService。
-
Java 文本块可以写得整齐,但源码排版带来的公共缩进不一定适合最终字符串。本文用 HTML 和 SQL 片段说明 String.stripIndent 如何去掉偶然公共缩进、保留内部相对层级,并比较 strip 与 indent 的使用边界。
-
Java NIO 的 PathMatcher 可以由 FileSystem.getPathMatcher 创建,用 glob 规则匹配 Path 的字符串表示。本文从常见模式、目录遍历、路径层级和大小写边界出发,整理一套可直接放进文件筛选代码的写法。
-
Composer 在生产环境通常应先用 --optimize 生成 classmap,再根据是否存在运行时生成类决定使用 authoritative classmap 或 APCu。本文围绕 dump-autoload 给出部署命令、取舍和最小检查清单。
-
PHP NumberFormatter 通过 locale 决定数字与货币的地区展示规则,再由 formatCurrency() 接收 ISO 货币代码生成金额文本。本文说明创建格式化器、小数位控制、错误处理和接口边界。
-
PHP stream filter 的方向与链顺序会影响字符转换。本文用 UTF-16LE 转 UTF-8 的内存流示例,说明先转码再做 ASCII 大写的原因,并区分缓冲和多字节边界。