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

  • Post author:
  • Post category:其他




一、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来构建多线程并发环境。



版权声明:本文为wstever原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。