[英]Java operators performance arithmetic vs bitwise
在真正影响性能的重复算术运算中,按位运算符会对性能产生正面还是负面影响? 我尝试使用Google进行搜索,但无法获得确切的答案。
例如我应该使用这个:
int s = 15 << 4;
或这个:
int s = 15 * 16;
来提高我的应用程序的性能。
运算符优先级也与性能相关吗?
在这种情况下,您可以使用其中任何一个。
两者都是编译时可评估的常量表达式,因此编译器将执行该操作。 因此,运行时完全不会受到影响。
如果您设计了一个仅在运行时可评估的示例,那么很难说,但是如果您是我,无论如何我都相信编译器。 始终对任务使用适当的运算符,以防止错误蔓延。您始终可以分析性能。
这段代码
public class A {
public static void main(String[] args) {
int a = 15 << 4;
int b = 15 * 16;
}
}
编译为
public static void main(java.lang.String[]);
Code:
0: sipush 240
3: istore_1
4: sipush 240
7: istore_2
8: return
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.