我在eclipse中通过Axis2代码生成器生成了存根。
我的客户端代码如下:
ServerStub server = new ServerStub();
for (int i = 0; i < 5; i++) {
java.sql.Timestamp requestTime = new java.sql.Timestamp(System.currentTimeMillis());
OperationResponse res = server.operation(new operation());
System.out.println("Response Time: " + (System.currentTimeMillis() - requestTime.getTime()) + "ms");
}
然后我得到了输出:
Response Time: 371ms
Response Time: 13ms
Response Time: 16ms
Response Time: 14ms
Response Time: 11ms
有没有人可以解释这个? THX。
P.S。服务器和客户端位于同一网段
答案 0 :(得分:2)
由于类加载器,时间上的差异可能是原因。当您第一次调用时,JVM需要准备可执行的代码。这个过程需要一些时间。要执行有效时间测试,首先应该“预热”JVM并加载所有必需的类。