Go语言技术文章
-
Python 3.13 起可以用 typing.TypeIs 声明用户自定义类型谓词。本文用联合类型示例说明 True 分支如何做交集收窄、False 分支如何排除目标类型,并比较 TypeIs 与 TypeGuard 的适用边界。218 收藏 -
Python dataclasses.field 通过 default_factory 为实例创建独立默认容器。文章说明零参数工厂、嵌套对象与显式传参的共享边界,并解释不可哈希默认值、init=False 和 frozen 的适用规则。250 收藏 -
Python 的 sqlite3.Connection.blobopen 可以打开已有 SQLite BLOB,按偏移读取或写入固定长度数据。本文说明怎样用 zeroblob 预留空间,正确处理 readonly、事务提交和 Blob 句柄关闭。439 收藏 -
Python sqlite3 默认返回元组,按列名读取需要在连接创建游标前设置 row_factory = sqlite3.Row。本文说明 row、列别名、空结果、已有游标与重复列名的边界,并给出可迁移的读取写法。197 收藏 -
文章 · python教程 | 1星期前 | 异常处理 · Python教程 · pathlib · 文件系统 · Python 目录遍历 pathlib OSError Path.walk on_error PermissionError
Python pathlib.Path.walk 默认会忽略目录扫描产生的 OSError。本文说明怎样用 on_error 接收异常,读取 filename,并按 PermissionError 等错误类型决定记录后继续还是重新抛出。337 收藏 -
用 Java HttpClient.sendAsync 发起异步请求,结合 BodyHandler 和 CompletableFuture 读取响应正文,并区分 HTTP 状态、网络异常与回调异常。468 收藏 -
Python asyncio.timeout 的关键是捕获位置:上下文内部先取消当前任务,退出上下文后才转换为 TimeoutError。本文用运维排障视角说明正确结构、CancelledError 区分、阻塞代码边界和动态 deadline 用法。419 收藏 -
用 Java jcmd 排查运行中 JVM 的线程问题:先通过 jcmd -l 确认 PID,再用 Thread.print -l 查看线程栈和并发锁,必要时用 Thread.dump_to_file 导出 plain 或 JSON 转储,并说明权限、容器与结果判断边界。452 收藏 -
Python 3.13 新增的 asyncio.Queue.shutdown 可以让生产者停止入队、消费者处理完已有任务后退出。本文解释 shutdown(False) 与 shutdown(True) 的差异,以及 QueueShutDown、task_done 和 join 的正确配合。312 收藏 -
Spring WebFlux 的 flatMap 并发只作用于单次订阅。通过单例非阻塞许可约束实例共享下游调用,结合响应体缓冲、连接等待与取消边界,说明背压能控制什么,以及容量不足时如何处理。187 收藏 -
Java CDS 默认归档可以复用核心类元数据;固定启动命令的应用还可以用 AppCDS 动态归档覆盖应用类,从而减少启动阶段重复加载。本文给出生成、加载和排查归档失效的最小方案。112 收藏 -
围绕 Spring Boot Actuator 的 HTTP 端点暴露,说明 include、exclude、health 详情可见性与 Spring Security 访问边界的配置方式。389 收藏 -
用一个 Java 多语言小项目说明 ResourceBundle.Control 如何控制候选 Locale、默认 Locale 回退和 root 资源包,避免缺少翻译时落到不期望的语言。118 收藏 -
Java System.Logger 怎样避免低级别日志提前构造复杂参数?本文拆开 isLoggable、Supplier 和日志后端的责任边界,给出两种写法、选择表与常见误区。454 收藏 -
从 lookup()、in() 到 privateLookupIn(),梳理 Java MethodHandles.Lookup 在同模块与跨模块场景中的权限变化。276 收藏