JDK 11 LTS 版本重大特性解析
· 阅读需 4 分钟
Java 11 是继 JDK 8 之后的又一个长期支持版本(LTS),带来了许多重要的改进。
1. HTTP Client API(标准化)
HTTP Client API 在 JDK 11 中正式成为标准特性:
// 创建 HTTP 客户端
var client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.connectTimeout(Duration.ofSeconds(10))
.build();
// 构建请求
var request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/data"))
.timeout(Duration.ofMinutes(1))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"name\":\"test\"}"))
.build();
// 发送请求
var response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
// 异步请求
client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
.thenApply(HttpResponse::body)
.thenAccept(System.out::println);
主要特点:
- 支持 HTTP/2
- 异步请求支持
- WebSocket 支持
- 响应式流集成