在Java中,就性能而言,< =比较小于比较后跟OR后跟等于比较?

时间:2012-05-30 20:04:00

标签: java performance

是代码

 while(currentLine <= endLine)  
  {
     // more code
     currentLine++;  
  }

相当于

 while(currentLine < endLine || currentLine == endLine)
  {
     // more code
     currentLine++;   
  }

在表现方面?

2 个答案:

答案 0 :(得分:8)

<=操作通常编译为单个字节码指令if_icmpleifle。 JVM如何解释通常依赖于机器,但大多数硬件都支持评估&lt;和&lt; =作为单个指令。因此,您可能希望<=的效果与<相同。

Java编译器可能会将第二个代码重写为第一个代码,这意味着不会有性能损失。但是,这是一个实现细节。

一般来说,除非您确定它们是导致性能瓶颈的原因,否则不要担心这些微观优化。像这样的决定会对程序运行时产生深远影响,这是非常罕见的。

希望这有帮助!

答案 1 :(得分:0)

好吧,你可以争论如果短路逻辑比比较更有效,我会选择第一个,无论如何如果优化器足够聪明,你写它的方式并不重要。