java httpclient 性能_HttpURLConnection与 HttpClient 区别/性能测试对比

HttpClient是个开源框架,封装了访问http的请求头,参数,内容体,响应等等,

HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便

HttpClient实际上是对Java提供方法的一些封装,

在HttpURLConnection中的输入输出流操作,

在这个接口中被统一封装成了HttpPost(HttpGet)和HttpResponse,

这样,就减少了操作的繁琐性。

性能方面这里做一个测试:

HttpURLConnection VS HttpClient性能测试

版本: HttpURLConnection  jdk1.7;HttpClient 4.3

在项目中有一个特别小的相关应用,在选择时做了一下测试,之前先对两个类进行下说明:

HttpURLConnection  java的标准类(java.net)

HttpClient Jakarta Commons HttpClient,提供对HTTP协议访问的封装,包括http的请求头,参数,内容体,响应等及多线程的应用。

public classHttpTest {private static String link = "http://www.baidu.com";public static voidmain(String[] args) {long a =System.currentTimeMillis();

useHttpURlConnection();long b =System.currentTimeMillis();

System.out.println("use httpurlconnection: "+(b-a));long c =System.currentTimeMillis();

useHttpClient();long d =System.currentTimeMillis();

System.out.println("use httpClient: "+(d-c));

}private static voiduseHttpClient() {try{

HttpClientUtil.get(link,null, null);

}catch(ClientProtocolException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}public static voiduseHttpURlConnection(){

HttpURLConnection conn= null;

URL url= null;

String result= "";try{

url= newjava.net.URL(link);

conn=(HttpURLConnection) url.openConnection();

conn.setConnectTimeout(10000);

conn.connect();

InputStream urlStream=conn.getInputStream();

BufferedReader reader= new BufferedReader(newInputStreamReader(urlStream));

String s= "";while ((s = reader.readLine()) != null) {

result+=s;

}

reader.close();

urlStream.close();

conn.disconnect();

}catch(MalformedURLException e) {

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}catch(Exception e){

e.printStackTrace();

}

}

}

003f70a6831841e2d57c49f304ff2ea1.png

结果很明显示,但是在实际应用中,还是应该根据实际的需求进行取舍。

参考:

http://www.cnblogs.com/langtianya/p/4001499.html

http://xiaowei-qi-epro-com-cn.iteye.com/blog/1973295

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值