是"返回;"在Java中的void方法结束时对性能有什么影响?

时间:2017-03-08 13:57:57

标签: java methods void

这听起来像是一个愚蠢的问题,但我很快就会明白这一点。无论如何,如果我要将return;添加到Java中的void方法的末尾,是否会对性能产生任何影响(我的意思是ANY)?例如:

原始方法:

public void method(){
   int i = 1;
}

新方法:

public void method(){

   int i = 1;
   return;
}

现在,显然这并没有对节目的表现产生任何重大影响,但它会有一个微不足道的影响吗?如果它没有以任何方式改变性能,它是否会改变其他任何东西? (就像编译程序的大小一样?)

2 个答案:

答案 0 :(得分:16)

如果您的意思是运行时性能,请不要;编译器发出的字节码与是否相同。这很容易检查:编译它,使用javac -p ClassName查看反编译版本,然后使用它编译,并执行相同操作。您会发现它们相同(两者都包含return字节码。)

  

如果它没有以任何方式改变性能,它会改变其他什么吗? (就像编译程序的大小一样?)

不。字节码与大小相同。

答案 1 :(得分:5)

实际上,如果你有一个没有任何return语句的void方法,编译器将始终在它结束时生成一个返回指令。所以我觉得它什么都没改变。