Java 与不从方法返回值相比,返回值对性能有影响吗?

Java 与不从方法返回值相比,返回值对性能有影响吗?,java,optimization,methods,return,Java,Optimization,Methods,Return,如果有一个对象的添加方法,并且为了构造方便 Objeckt o=newobjeckt().add(新元素()) 使用这种方法会花费更多吗 Objeckt add(Element e){ return this; } 而不是 void add(Element e){ } 感谢@ventiseis: (与原语返回类似,和) 如果未引发异常,则值将从当前帧(§2.6)的操作数堆栈中弹出,并推送到调用程序帧的操作数堆栈上。当前方法的操作数堆栈上的任何其他值都将被丢弃 如果未引发异常,则

如果有一个对象的添加方法,并且为了构造方便

Objeckt o=newobjeckt().add(新元素())

使用这种方法会花费更多吗

Objeckt add(Element e){
    return this;
}
而不是

void add(Element e){

}
感谢@ventiseis:

(与原语返回类似,和)

如果未引发异常,则值将从当前帧(§2.6)的操作数堆栈中弹出,并推送到调用程序帧的操作数堆栈上。当前方法的操作数堆栈上的任何其他值都将被丢弃

如果未引发异常,则丢弃当前帧(§2.6)的操作数堆栈上的任何值

本规范规定:

如果返回一个值,该值将从操作数堆栈弹出,并推送到调用帧的操作数堆栈上

如果没有返回值,则不会弹出或推送任何内容

因此不返回值应该更有效。


当然,如果调用框架中没有使用返回值,那么这个答案不会考虑优化问题。

您设计的是哪种性能如此关键的系统?我只是想知道它是否有任何区别。或者,如果值为none(void),它仍然需要返回一个空白。对不起,我投票结束这个问题,因为不清楚。这个问题的答案取决于jvm和使用的操作系统。请阅读技术文档,了解字节码是如何执行的,有时通过即时编译进行优化的。我看不出有什么理由必须返回空白值之类的内容。