我想问的是解释性代码。Sureley,以下代码之间的区别是可以忽略的,但它描述了这一点。
就内存使用和性能而言,哪一个最有效?
if( MathUtil.CalculateSin(angle) > Angles.ACUTE){
// Something is done
}
或者
double angleSin = MathUtil.CalculateSin(angle);
if( angleSin > Angles.ACUTE){
// Something is done
}
它仅取决于您是否要重用该变量。
如果您不打算重复使用该值,则没有理由将其存储在变量中。
编辑 :
根据您的评论,似乎您主要是出于性能方面的考虑而问这个问题...
实际上,我的问题与算法无关,也与实现方法无关。我对这些方法的内存使用情况很好奇,因此效率是目的。
不要期望这两种方法在内存使用方面有任何区别,JVM和JIT将尽可能地对其进行优化,以使两种情况都相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句