为什么第一次运行HttpClient很慢但速度要快得多?

时间:2014-07-07 08:00:32

标签: java httpclient

代码是(我写了一个工具类,虽然solrj会做得更好):

     for(int i=0;i<100;i++){
       SolrClient client = new SolrClient(new DefaultHttpClient());
       System.out.println(client.fetchFrom(URL, new SolrQuery("cc","id")));
       Thread.sleep(1000);
     }

它首先采取了: HTTP:294 ----完成:326(MS)

但是完成此操作只需要大约20MS。

JVM是否缓存http结果?
当我再次运行时。结果就是这样。

1 个答案:

答案 0 :(得分:1)

第一次,必须将服务器名称解析为IP地址,并且必须创建TCP连接。在后续请求中,通常可以重用连接。即使连接无法重用,IP地址仍可能被缓存。