Java VM是否跳过零乘法?

2022-05-16 00:00:00 compiler-construction java virtual

我想知道Java虚拟机是否避免了零乘。谢谢


解决方案

根据Java Language Spec,"在执行操作本身的任何部分之前,运算符的每个操作数(条件运算符&;&;、||和?:除外)似乎都已完全求值。"

因此,即使编译器或运行时可以检测到一个因素为零,如果另一个因素可能有副作用,它仍然必须评估另一个因素。

相关文章