Go语言技术文章
-
Java Matcher 判断可选分组时,要在成功匹配后区分 null、空字符串和非空内容。用备注行解析器说明命名捕获组、位置判断、状态误用和业务集成。140 收藏 -
文章 · java教程 | 3天前 | 文件处理 · Java · Stream · try-with-resources 文件遍历 Files.find Java Files.walk Stream
Java Files.walk 返回的 Stream可能持有打开目录,filter 只负责筛选元素并不会关闭资源。本文用 try-with-resources 处理正常结束、提前终止和异常路径,并说明 maxDepth、符号链接、UncheckedIOException 与 Files.find 的选择边界。 210 收藏 -
用同一个 Java HttpClient 实例承载连接复用,用 HttpRequest 描述单次调用,再根据文本或二进制场景选择 BodyHandler 读取响应体,并处理状态码、异步调用和关闭时机。349 收藏 -
Java CompletableFuture 的超时处理要先选对语义:用 orTimeout 保留超时异常,再用 exceptionally 做回退;如果超时本身就是可接受结果,则用 completeOnTimeout 直接返回默认值。396 收藏 -
Java flatMap 可以自然展开空集合,但 null 子集合和 null 元素需要不同策略。通过标签汇总示例说明空流、参数拒绝、职责边界与接入清单。266 收藏 -
Files.readString(path) 默认按 UTF-8 解码;文件实际编码不是 UTF-8 时,应使用带 Charset 参数的重载。本文从乱码根因、显式字符集写法和大文件边界三个方面给出可落地的选择方法。377 收藏 -
Java ByteBuffer.slice 创建的是共享内容视图:新缓冲区从源 position 开始,拥有独立的 position、limit 和 mark,但对共享字节的修改仍会彼此可见。本文用结构示例区分 slice、duplicate、只读视图和显式复制。464 收藏 -
区分 Java 泛型记录的静态类型推断与组件值匹配,比较显式实参、var、通配符和嵌套模式,说明未经检查转换及空值边界。452 收藏 -
Java record 可以通过规范化构造器统一完成参数校验、空白清理、大小写转换和范围规范化。本文说明紧凑构造器与显式构造器的写法,并解释替代构造器为什么必须委托到同一条校验路径。477 收藏 -
Java Pattern.split 遇到连续、首尾分隔符时,关键在于 limit 参数:默认 limit=0 会丢弃尾部空字符串,负数 limit 才能保留完整字段。本文用静态边界说明和可复制示例讲清选择方法。149 收藏 -
PHP 跨层处理异常时,把底层 Throwable 作为自定义异常构造函数的第三个参数传入,再用 getPrevious() 向下遍历,就能同时保留业务语义和原始原因。188 收藏 -
PHP session 过期后的回跳应保存短期路由意图,而非恢复旧登录态。本文用服务端白名单映射和一次消费函数,解释重定向、POST、多标签页及目标授权边界。285 收藏 -
讲清 PHP hash_equals 的参数顺序、长度边界与 hash_hmac 输出格式,给出回调签名校验的原创示例。112 收藏 -
PHP DOMDocument 解析中文 HTML 时,应先确认输入字符串是 UTF-8,再给 HTML 明确编码提示,并让 saveHTML 输出与响应声明保持一致。本文还说明构造参数不负责自动转码,以及 PHP 8.4 Dom\HTMLDocument 的 HTML5 解析边界。228 收藏 -
PHP 处理日志、CSV 或导出文本时,可以用 Generator 配合 fopen()、fgets() 按行提供数据,避免先用 file() 或 explode() 把整个大文件装进数组。本文给出资源释放、EOF、换行和消费端批处理的完整边界。280 收藏