java教程技术文章
-
Java HttpClient 的 HTTP/2 连接复用重点在于长期复用同一个 HttpClient,而不是每次请求新建客户端。本文说明 HTTP_2 协议偏好、HttpResponse.version() 实际结果、HTTP/2 多路复用,以及 connectionPoolSize 与 keepalive.timeout.h2 的配置边界。294 收藏 -
用 DateTimeFormatterBuilder 分别构造多种日期格式,按具体格式优先严格解析,并处理 LocalDate、LocalDateTime 与非法输入边界。266 收藏 -
用 StringJoiner.setEmptyValue 设置未添加元素时的默认输出,并区分真正空状态、空字符串元素和 null 元素的结果。259 收藏 -
DecimalFormat 默认解析结果不一定是 BigDecimal。本文给出 setParseBigDecimal(true) 的完整写法,并说明它与 ParsePosition、格式化小数位、Locale 和线程安全的边界。254 收藏 -
Properties.load(Reader) 使用调用方已经解码好的字符,load(InputStream) 则按 ISO-8859-1 解释每个字节。读取 UTF-8 中文配置时,应使用 InputStreamReader 显式指定 UTF-8,并注意 Unicode 转义、store 配对和流关闭责任。229 收藏 -
Java PushbackReader 可用 unread 保留多读的非数字字符。本文通过数字前缀示例说明共享包装对象、EOF 判断、单字符容量、异常位置与调用方关闭责任。206 收藏 -
Java ChoiceFormat 中 # 包含当前下限,< 排除当前下限。本文用相邻区间、数组构造和 MessageFormat 示例说明如何处理 0、1、1 以上及其他临界值。203 收藏 -
用combine把分片统计累积到独立总对象,说明平均值权重、重复计入、并发修改、空片与浮点误差,并提供完整Java示例。194 收藏 -
Java 正则替换时,美元符号和反斜杠可能被当成 replacement 语法。本文纠正 Pattern.quoteReplacement 的类名误解,说明 Matcher.quoteReplacement 的用法、边界与最小示例。191 收藏 -
Java Pattern.splitAsStream 会按照正则匹配到的分隔符创建有序 Stream,末尾空字符串不会进入流;本文用配置文本和日志字段拆分场景说明调用方式、空值边界、可变输入约束,以及它和 split、splitWithDelimiters 的选择差异。 177 收藏 -
Java sealed class 的许可列表只描述直接子类型。通过原创类层级示例区分封闭和开放分支,说明反射查询、对象归属及业务准入的不同用途。164 收藏 -
ChoiceFormat 用升序 limits 把数字映射到分段提示文本。本文说明 # 与 < 的边界差异、数组构造、MessageFormat 组合、5 个边界样例和线程安全注意事项。159 收藏 -
文章 · java教程 | 1天前 | 网络编程 · Java · HTTP · Stream · java httpclient Stream BodyHandlers.ofLines HTTPResponse
Java HttpClient 的 BodyHandlers.ofLines() 会把响应正文转换为按行消费的 Stream。本文从最小 GET 示例开始,说明响应状态、字符集、换行、提前结束和资源关闭边界,并比较它与 ofString、ofInputStream 的适用场景。 151 收藏 -
Java AttributedCharacterIterator 的关键不是逐字符判断属性,而是用 getRunStart 和 getRunLimit 取得当前属性连续区间,再按半开区间读取文本。本文说明单属性、属性集合和全部属性遍历时的边界写法。150 收藏 -
Java 虚拟线程迁移可保留同步阻塞代码,但要把任务线程、入口准入和下游并发限制分开。本文给出执行器接入片段与异常、资源和关闭边界。141 收藏