方法调用时间和方法执行时间之间是否存在差异。我认为我们可以轻松测量方法执行时间。但是我如何测量方法调用时间。 每次都会有所不同吗? (Java)的
答案 0 :(得分:4)
调用时间是调用或调用方法所需的时间。 执行时间是执行方法主体所需的时间。
请参阅JVM规范中的7.7 Invoking Methods和Instruction Set。可以通过4种不同的方式调用Java方法:
invokevirtual
- 用于类方法调用invokeinterface
- 用于接口方法调用invokestatic
- 用于静态方法invokespecial
- 用于构造函数,私有方法和super
调用 invokestatic
通常是最快的,因为它与特定类绑定,而其他类可能相对较慢。 invokeinterface
可能是最慢的,因为类可以实现多个接口,并且必须解析正确的方法。
同一方法的不同调用将花费相同的时间。
答案 1 :(得分:3)
invocation = execution --->调用时间=执行时间。
答案 2 :(得分:1)
调用方法和执行方法是同义词 - 它们是同一个东西。
也许我误解了你的问题。