【项目实战】为什么我选择使用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来构建多线程并发环境。
摘抄自网络,便于检索查找。