Java11新特性及代码示例

file

你好啊,我是大阳,本文给你介绍Java11的新特性,并提供一些代码示例。

本文主要内容

  • HTTP客户端API
  • 无需编译即可启动单文件程序
  • 字符串API更新
  • Collection.toArray
  • Files.readString() 和 Files.writeString()
  • Optional.isEmpty()

Java 11(2018 年 9 月发布)包含许多重要且有用的更新。让我们看看它为开发人员和架构师带来的新功能和改进。

1. HTTP客户端API

Java 使用HttpURLConnection进行HTTP通信已经很长一段时间了。但随着时间的推移,要求变得越来越复杂,应用程序的要求也越来越高。在 Java 11 之前,开发人员不得不求助于功能丰富的库,如Apache HttpComponentsOkHttp等。

我们看到Java 9发布包含一个HttpClient实现作为实验性功能。它随着时间的推移而发展,现在是 Java 11 的最终功能。现在 Java 应用程序可以进行 HTTP 通信,而无需任何外部依赖。

1.1 如何使用HttpClient

java.net.http模块和典型 HTTP 交互如下所示 :

  • 创建HttpClient的实例并根据需要进行配置。
  • 创建一个HttpRequest实例并填充信息。
  • 将请求传递给客户端,执行请求并检索HttpResponse的实例。
  • 处理包含在HttpResponse中的信息.

HTTP API 可以处理同步和异步通信。让我们看一个简单的例子。

1.2 同步请求示例

请注意 http 客户端 API 如何使用构建器模式来创建复杂对象。

package cn.dayangshuo.http;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

/**
 * @author DAYANG
 */
public class HttpClientTest {
    public static void main(String[] args) {
        HttpClient httpClient = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .build();

        try {
            String urlEndpoint = "https://www.baidu.com/s";
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值