Appearance
JDK 26 发布:HTTP/3 与预览特性速览
修订于 2026-10-12:原文中没有来源的普及率、性能提升及部分 API 行为描述已删除。以下以 Oracle 官方发布说明和 API 文档为准。
JDK 26 于 2026 年 3 月 17 日发布。它包含 HTTP/3 客户端支持,也继续预览结构化并发等特性。发布并不意味着每个新能力都会默认启用,也不意味着升级后自动获得性能收益。
HTTP/3:客户端支持,但需主动选择
JEP 517 为 JDK 的 HTTP Client API 增加 HTTP/3 支持。Oracle API 文档说明:默认实现支持 HTTP/1.1、HTTP/2 和 HTTP/3,但 HTTP/3 不会默认选择;可以在 HttpClient 或 HttpRequest 中将首选版本设为 HTTP/3。请求最终使用的协议还受服务器支持、连接发现、代理和网络环境等因素影响。HTTP/3 请求需要 HTTPS。
示意代码:
java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
try (var client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_3)
.build()) {
var request = HttpRequest.newBuilder(URI.create("https://example.com/"))
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.version());
}示例用于说明选择协议的方式。编译和运行前应核对所安装 JDK 26 的 API 文档,并在目标网络测试协商结果;不要只看配置项就断定请求一定走 HTTP/3。
结构化并发仍是预览 API
JEP 525 是结构化并发的第六次预览。它把相关并发任务作为一个单元管理,以便处理取消、错误传播和可观测性。预览 API 的使用需要按 JDK 文档启用预览特性,后续版本的 API 也可能继续变化,不宜直接当作长期稳定接口。
其他值得检查的变化
Oracle 的发布说明还列出惰性常量第二次预览、向量 API 第十一次孵化,以及多个语言与运行时变化。具体是否影响项目,取决于所用库、编译选项和部署环境。升级前应:
- 阅读与项目相关的发布说明和迁移指南,检查移除与弃用项。
- 在测试环境编译并运行现有测试,尤其是依赖预览、孵化 API 的代码。
- 对 HTTP/3、GC 等性能相关变化做同条件测量,记录吞吐、延迟和资源占用。
- 制定回滚方案,再逐步扩大生产流量。