Java 为什么第一次运行HttpClient会很慢,但要快得多?

Java 为什么第一次运行HttpClient会很慢,但要快得多?,java,httpclient,Java,Httpclient,代码是(我编写了一个工具类,尽管solrj会做得更好): 用于(int i=0;i第一次,服务器名称必须解析为IP地址,并且必须创建TCP连接。在后续请求中,该连接通常可以重复使用。即使无法重复使用该连接,IP地址也可能仍然被缓存。我假设URL的名称查找已被缓存,并且客户机可能会连接是持久的。请尝试在for循环的底部添加一个客户机.close();。我将工具类放入实际项目中,它运行得很快(从spring获取singletonHttpClient) for(int i=0;i<10

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


用于(int i=0;i第一次,服务器名称必须解析为IP地址,并且必须创建TCP连接。在后续请求中,该连接通常可以重复使用。即使无法重复使用该连接,IP地址也可能仍然被缓存。

我假设URL的名称查找已被缓存,并且客户机可能会连接是持久的。请尝试在
for
循环的
底部添加一个
客户机.close();
。我将工具类放入实际项目中,它运行得很快(从spring获取singleton
HttpClient
     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);
     }