根据cpu周期JAVA重构代码

时间:2013-02-06 14:13:56

标签: java

问题:我只想问2个问题,如果我在java中写下2个代码,那么哪个在cpu周期方面更快?为什么?有人告诉我,第一个选项在cpu周期方面是不正确的,因为检查了2个条件,即是和!

boolean flag = true;

//OPTION ONE
if(!flag) {
  //error
} else {
  //got the answer
}

//OPTION TWO
if(flag) {
  //got the answer
} else {
  //error
}

1 个答案:

答案 0 :(得分:7)

在现代JVM实现上存在没有实际差异

编译器会做正确的事情,不用担心。实际上,如果它可以证明标志在编译时总是具有常量值true,那么它将完全消除检查和不可达分支。