【项目实战】为什么我选择使用CloseableHttpClient,而不是HttpClient,他们俩有什么区别?

一、HttpClient介绍

HttpClient是Commons HttpClient的老版本,已被抛弃,不推荐使用;

HttpClient是一个接口,定义了客户端HTTP协议的操作方法。
它可以用于发送HTTP请求和接收HTTP响应。
HttpClient接口提供了很多方法来定制请求和处理响应。
这个接口存在于Apache HttpClient和Java自带的java.net包中。

HttpClient没有close方法。无法关闭连接请求。

HttpClient是单例模式,只能在一个应用中使用一个HttpClient实例;

二、CloseableHttpClient介绍

CloseableHttpClient自HttpClient 4.5以后的新版本,推荐使用CloseableHttpClient。

在这里插入图片描述

理由如下:

2.1 可实现自动close

  • 实现Closeable接口,可实现自动close,CloseableHttpClient增加了一个close方法来关闭连接池。
    在这里插入图片描述

2.2 具有HttpClient的优势

  • CloseableHttpClient是HttpClient的子接口,它实现了HttpClient接口,具有HttpClient的优势 。

2.3 可构建多线程并发环境

  • CloseableHttpClient可以创建多个实例,每次创建一个HttpClient实例来处理任务,通过close方法关闭连接,释放资源。
    可以用CloseableHttpClient来构建多线程并发环境。
posted @ 2024-02-26 17:13  CharyGao  阅读(170)  评论(0编辑  收藏  举报