优化对仅使用一次的值使用变量

时间:2014-10-18 17:13:50

标签: java variables optimization

我经常遇到这个疑问,我可以使用一些意见。 我经常将变量用于仅使用一次的值,我不确定是否有正确或错误的方法。有没有关于此的公约准则?

一个简单的例子:

int matches = 10;
int victories = 4;
int defeats = 3;

int ties = (matches - (victories + defeats));
int score = (victories*3 + ties);

是否应删除ties以使其成为此内容?

int matches = 10;
int victories = 4;
int defeats = 3;

int score = (victories*3 + (matches - (victories + defeats)));

尽管有一个愚蠢的例子,但我对这种不同复杂情况感到疑惑。

我可以看到使用ties的优点和缺点:

优点:

  • 提高可读性
  • 如果需要,可以在以后使用
  • ties
  • 易于维护

缺点:

  • 不太紧凑的代码
  • 使用更多变量
  • 不必要地使用资源

也许这只是个人品味的情况,但让我知道你如何处理这个以及为什么。谢谢!

2 个答案:

答案 0 :(得分:8)

我建议您使用最容易阅读的版本。在编译器和JIT之间,您执行微优化就不会在实际应用程序中产生任何可衡量的性能差异。

答案 1 :(得分:1)

我建议使用第一个版本。因为大部分时间我们都是团队工作,如果代码更好的可读性和更少的麻烦,那将是最好的。第二个版本针对的内存优化没有多大帮助(实际上没什么) ),因为JVM已经为我们做了很好的内存释放。 如果它是局部变量:JVM以LIFO方式释放所有变量(局部变量)(w.r.t调用堆栈) 如果它是一个成员变量:JVM会定期垃圾收集存储在堆中的所有对象(也包括成员变量)。