-
当命令行把位置参数与可选参数交错排列时,argparse.parse_intermixed_args() 可以把所有位置参数收集到对应字段。本文用一个小型文件批处理命令说明它与 parse_known_args 的区别、未知参数处理方式和不支持的组合。
-
str.isidentifier() 只判断字符串是否符合 Python 标识符的词法形态,def 和 class 仍可能返回 True。本文结合 keyword.iskeyword() 说明两层判断的分工,并给出可复用的命名校验函数。
-
Python str.maketrans 可以把字符映射、替换字符和删除字符组合成一张翻译表,再交给 str.translate 一次处理。本文说明三种构造形式、None 删除语义、长度约束和可复用写法。
-
Python str.expandtabs 会按照当前字符列和 tabsize 把制表符展开到下一个制表位。本文用小例子说明默认 8 列、自定义 tabsize、换行重置,以及字符计数和终端显示宽度的区别。
-
Python 动态分发时,inspect.Signature.bind 可以在真正调用前检查位置参数和关键字参数是否匹配函数签名。本文说明 TypeError 边界、BoundArguments 读取、默认值补齐以及 bind_partial 的选择。
-
Java 正则替换时,美元符号和反斜杠可能被当成 replacement 语法。本文纠正 Pattern.quoteReplacement 的类名误解,说明 Matcher.quoteReplacement 的用法、边界与最小示例。
-
使用 Java Time Chronology 处理非 ISO 日历时,把 ISO 日期留在存储和计算层,在界面层通过 DateTimeFormatter.withChronology 格式化,并正确区分 Locale、Era、y 与 u 的边界。
-
Java CharsetDecoder 处理分段 UTF-8 输入时,UNDERFLOW 不是错误。本文说明如何用 compact 保留未完成多字节前缀,最后一次 decode 传 true,并通过 flush 完成解码状态收尾。
-
Java ZGC 的低暂停目标仍然依赖足够的堆余量。本文从 Xmx、SoftMaxHeapSize、Xms、AlwaysPreTouch 和 ZUncommit 的关系出发,说明如何在突发分配、内存预算和延迟稳定性之间做配置取舍,并用 MXBean 做最小复查。
-
Java G1 混合回收暂停不能只看一行总耗时。本文从 Unified Logging 的事件行入手,结合 gc+phases、gc+ergo+cset 和 gc+heap 日志,定位集合选择、根扫描、对象复制与收尾阶段的长暂停来源。
-
Java Matcher 切换 Pattern 后不会自动回到输入开头。本文用紧凑示例说明 usePattern 如何保留当前位置、为什么旧分组失效,以及它与 reset、region、find(int) 的区别。
-
Java FFM 映射 C 结构体参数时,先用 MemoryLayout 描述字段、填充和对齐,再用 FunctionDescriptor 组合函数签名;本文区分结构体值、结构体指针与 Arena 生命周期。
-
Java HttpClient 的 HTTP/2 连接复用重点在于长期复用同一个 HttpClient,而不是每次请求新建客户端。本文说明 HTTP_2 协议偏好、HttpResponse.version() 实际结果、HTTP/2 多路复用,以及 connectionPoolSize 与 keepalive.timeout.h2 的配置边界。
-
Java sealed class 的许可列表只描述直接子类型。通过原创类层级示例区分封闭和开放分支,说明反射查询、对象归属及业务准入的不同用途。
-
Java 21 的 record pattern 可以递归匹配嵌套 record,并直接提取深层字段。本文用订单、客户和地址三层结构说明最小写法,重点处理 null、var 推断、泛型边界和可读性取舍。