Go语言技术文章
-
用 Java BreakIterator 找到完整字符边界,安全截断组合字符、补充字符和表情序列,并说明它与像素宽度测量的区别。390 收藏 -
Java AtomicStampedReference 把对象引用和 int stamp 原子地绑定在一起。本文用 A→B→A 的场景说明只比较引用为什么会漏掉 ABA,再用 get 与 compareAndSet 同时校验引用身份和 stamp,给出更新版本号及使用边界。245 收藏 -
用 Java Normalizer 构建 NFC 名称比较键,区分组合字符、原始展示值和规范键,说明本地运行判断、数据集成与兼容折叠边界。473 收藏 -
ExecutorCompletionService 把任务提交和结果消费分开,适合多个 Callable 并发执行后按实际完成顺序取结果。本文用最小 Java 示例说明 take、poll、Future.get 的配合方式,以及异常、超时和线程池关闭边界。146 收藏 -
Java Flow 的 request(long) 不是暂停线程,而是增加订阅未满足需求。本文从 onNext 停滞现象出发,解释固定窗口、半窗补请求、非法参数,以及 HttpClient BodySubscriber 的继续请求与取消边界。176 收藏 -
ByteBuffer flip 与 rewind 对比:理解 position、limit 和 capacity,用写后读取与从头重读示例说明选择规则,避免重复 flip 和误读容量尾部。314 收藏 -
Java NIO 可以在 Files.newDirectoryStream 中直接传入 glob,只筛选当前目录中匹配文件名的目录项。本文说明常见通配符、资源关闭、异常处理,以及 glob 与递归遍历和自定义过滤器的边界。421 收藏 -
Java HttpClient 可以用 HttpRequest.BodyPublishers.ofFile(Path) 把本地文件作为请求体发送。本文说明文件请求体的构造关系、Content-Type 设置、异常处理和与响应文件下载的区别。103 收藏 -
Java URI 保留原始查询时应读取 getRawQuery,而不是 getQuery。本文用最小示例说明百分号编码、加号、重复参数、null 与空查询的区别,并给出转发、签名和缓存键场景的选择边界。229 收藏 -
Java HttpClient 通过 HttpClient.Builder.followRedirects 设置重定向策略。本文比较 NEVER、NORMAL 和 ALWAYS 的行为,说明默认值、HTTPS 到 HTTP 的边界、POST 方法变化,以及如何查看 previousResponse。277 收藏 -
Java HttpClient 的响应头从 HttpResponse.headers() 取得,再按需求使用 firstValue、allValues 或 map。本文用一段最小示例说明单值、多值、大小写和缺失响应头的处理边界。271 收藏 -
mb_detect_encoding 编码候选判断教程:明确候选列表与严格模式,区分字节合法性、启发式猜测和来源事实,处理多候选、false 与乱码复查。421 收藏 -
PHP 8.3 新增的 json_validate() 只返回 JSON 语法是否有效,不构建数组或对象。本文讲清参数、错误信息、版本边界,以及何时不要先验证再解码。460 收藏 -
讲清 PHP stream_context_create 设置 HTTP 超时的嵌套位置、秒数单位、file_get_contents 返回值,以及超时和 HTTP 错误的排查边界。309 收藏 -
DOMDocument 处理 HTML fragment 时,普通 HTML 适合用临时根节点包装后解析,XML 兼容片段可以用 DOMDocumentFragment 和 appendXML。本文还说明 saveHTML、UTF-8、HTML4 解析规则与 PHP 8.4 HTML5 解析边界。377 收藏