Go语言技术文章
-
用 ParamSpec 和 Callable[P, R] 为装饰器转发原函数参数与返回值类型;当装饰器注入固定参数时,再用 Concatenate 表达新的调用签名。309 收藏 -
Python asyncio 处理同步阻塞函数时,可以用 asyncio.to_thread 把 I/O 工作放到线程执行;但取消等待任务不等于强制停止线程。本文比较 to_thread 与 run_in_executor,说明 contextvars、异常和协作式取消边界。395 收藏 -
Python asyncio.timeout_at() 接收事件循环时钟上的绝对 deadline,适合把一次请求的总截止时间传给多个嵌套协程。本文对比 timeout、timeout_at 和 wait_for,说明异常捕获、剩余预算、动态 reschedule 与过期边界。256 收藏 -
Python SharedMemory 中,close 只关闭当前实例持有的句柄,unlink 才是删除共享内存块;创建者、连接者和最后责任方要按不同角色安排清理,独立进程还要留意 track 的资源跟踪边界。319 收藏 -
Java 进程 RSS 持续上涨时,先用 jcmd VM.native_memory 建立基线,再用 summary.diff 或 detail.diff 判断是 JVM 子系统、线程、类元数据还是 NMT 未覆盖的第三方原生内存。476 收藏 -
Java ObjectInputFilter 可以为 ObjectInputStream 增加类名、数组长度、引用数、深度和字节数限制。本文用一个小实验说明流级过滤器、程序化检查和 JVM 级配置的取舍。307 收藏 -
Java JDBC 批量插入后,可以通过 RETURN_GENERATED_KEYS 请求生成键,再用 getGeneratedKeys() 遍历驱动返回的 ResultSet。本文给出完整写法,并说明空结果、驱动支持、顺序映射、事务回滚和资源关闭等边界。341 收藏 -
Java Collectors.teeing把同一批元素交给两个下游收集器,再合并完成结果。用总数量与最大项示例说明结果类型、空流约定、并行特征和适用边界。327 收藏 -
Java 接口同时收到日期、带 T 的时间和带空格的时间时,可以用 DateTimeFormatterBuilder 组织可选秒数,再用多个候选格式器处理真正不同的分隔符。本文给出严格解析、parseBest 和落地边界。501 收藏 -
Java 25 StructuredTaskScope 子任务失败时,使用 FailedException 读取原始原因,让兄弟任务响应中断,并用 close 等待资源安全收尾。208 收藏 -
文章 · java教程 | 3星期前 | 字符集 · Java教程 · HTTP客户端 · java httpclient charset BodyHandlers ofByteArray ofString
Java HttpClient 的 BodyHandlers.ofByteArray 适合保留原始响应字节,ofString 适合文本,ofString(Charset) 适合协议或业务已明确字符集的文本。本文用响应资产、字符集和内存边界三个角度说明如何选择,并补充流式读取、文件落盘和敏感数据日志的安全边界。429 收藏 -
Java Optional.stream 会把有值的 Optional 变成只含一个元素的顺序 Stream,把空 Optional 变成空 Stream。本文用一组可选查询结果拆解 flatMap(Optional::stream) 的写法、边界和落地选择。170 收藏 -
Java sealed interface 在未命名模块中要求 permits 子类型同包;命名模块可以跨包但不能跨模块。本文按 package、module 和 permits 三层关系拆解常见编译错误与代码组织方式。265 收藏 -
Java record 的紧凑构造器可以在不重复声明参数和字段赋值的情况下完成参数校验与规范化。本文用值对象示例说明隐式参数、异常边界和常见限制。293 收藏 -
Java computeIfAbsent计算回调不应更新同一个Map。结合JDK25文档和单线程依赖计算示例,区分容器重入检测与业务依赖环,说明完成缓存、失败清理及并发改造边界。207 收藏