我使用jdk 6构建的Web应用程序使用apache httpclient 3.1来执行对外部系统的请求。 在这些日子里,我已经完成了将这个Web应用程序移植到jdk 8.所有编译都在工作,但是发生了一件奇怪的事情:随机的一些请求需要正常的执行时间加上5000ms。我确定这次呼叫的执行有时会持续5秒:
long t0 = System.currentTimeMillis()
int statusCode = client.executeMethod(get)
long dt = System.currentTimeMillis() - t0;
apache httpClient 3.1可能不符合JDK 8吗?
答案 0 :(得分:0)
Apache Foundation在其4.x版本中添加了所有3.x.如果你检查,你会得到他们已经使他们的4.x版本兼容jdk 7。希望他们也能在jdk 8上工作。
在HttpComponents HttpClient 4.0-alpha1 release
中,他们有一些值得注意的变化和改进。其中一个是性能问题。
HttpClient 4.0预计比HttpClient 3.x快10%到25% 代码行。由于具有更好的性能和更小的内存占用 基于HttpCore的更高效的HTTP传输。
2011年5月20日,HttpComponents HttpCore 4.1.1(GA)发布。此版本标志着对Java 1.3的支持终止。从版本4.2开始,HttpCore将为其所有组件提供Java 1.5。
2013年9月12日,HttpComponents HttpClient 4.3(GA)发布。这是HttpClient 4.3的第一个稳定版(GA)。他们支持Java 7 try-with-resources进行资源管理(连接发布。)