Go语言技术文章
-
Java Arrays.mismatch 会返回两个数组的首个差异位置;完全相同返回 -1,一个数组只是另一个数组的前缀时返回较短数组长度。本文用整数组、范围重载和对象数组示例说明如何读取这个结果。244 收藏 -
通过共享计数器示例说明 ReentrantLock 公平锁的创建、成功获取后的释放,以及无参和限时 tryLock 的差别,并解释线程调度与吞吐取舍。247 收藏 -
Java HttpResponse.BodyHandlers.ofInputStream() 会在响应头到达后提供 InputStream,适合逐块处理大响应。本文说明固定缓冲区读取、状态码判断、EOF 与 close 的边界,并对比常用 BodyHandler 的选择方式。220 收藏 -
文章 · java教程 | 2星期前 | Java · nio · HTTP客户端 · java httpclient HttpRequest BodyPublisher HTTP请求体 BodyPublishers
Java HttpRequest 的请求体不是直接塞入字符串,而是通过 BodyPublisher 提供字节流。本文按数据来源选择 BodyPublishers 工厂,说明 POST、PUT、自定义方法、长度契约和输入流复用边界。386 收藏 -
文章 · java教程 | 2星期前 | 文件处理 · Java · 异常处理 · nio · java 文件替换 Files.move ATOMIC_MOVE REPLACE_EXISTING 原子移动
Java Files.move 的 ATOMIC_MOVE 与 REPLACE_EXISTING 解决的是不同问题:前者约束原子移动,后者允许覆盖已存在目标。本文按 FileStore、目标状态和原子性要求拆解选择方式,并给出 AtomicMoveNotSupportedException 的处理边界。290 收藏 -
Path.normalize 只按路径名称规则消除 . 和 ..,不会访问文件系统,也就不会检查符号链接。本文用 Java NIO 的 API 对比说明语义差异,并给出需要真实目标时的处理方式。497 收藏 -
从批量数值处理的输入路径解释 BigDecimal(double) 长尾的来源,比较字符串构造与 valueOf,并说明先做浮点运算、scale 和舍入规则的处理边界。162 收藏 -
Java Map.computeIfAbsent 的映射函数执行期间不应修改当前 Map。本文从外层写回时机、同键递归和不同 Map 实现的异常差异出发,给出纯计算、分阶段写入和回滚复查的排障手册。450 收藏 -
Java Collectors.filtering 适合放在 groupingBy 的下游,按条件过滤每个分组的元素,同时保留没有匹配值的分组键。本文用原创示例说明它与先调用 Stream.filter 的差异,以及如何选择下游 Collector。249 收藏 -
Java String.splitWithDelimiters 会把文本片段和匹配到的分隔符交替放进结果数组。掌握正则、limit 和尾部空字符串规则,就能避免 split 后再猜分隔符位置。359 收藏 -
Java Optional 处理可能为空的查询结果时,可以用 ofNullable 接住 null,再用 orElseThrow 指定异常类型和消息,让调用方得到清晰的失败原因。397 收藏 -
用 PHP array_intersect_key 按键白名单裁剪配置数组,保留源数组中的原值和顺序,并说明 array_intersect、array_intersect_assoc、键类型和空结果边界。368 收藏 -
说明 Composer autoload-dev 与 require-dev 的区别,通过独立测试命名空间示例介绍开发加载配置、--no-dev 生产安装,以及根包规则和发布文件边界。375 收藏 -
PHP session.use_strict_mode 默认关闭,开启后会拒绝存储端不存在的未知会话 ID,并向浏览器发送新的 ID。本文说明配置时机、Cookie 配置和自定义 session handler 的 validateId/validate_sid 边界。382 收藏 -
PHP password_get_info 用来读取已有密码哈希的 algo、algoName 和 options。本文说明怎样安全读取 cost 等算法参数,并区分元数据查看、密码验证与 password_needs_rehash 的升级判断。229 收藏