如何编写高效的Java代码?

dilig0;

众所周知,Java代码是由JVM编译和解释的。我的问题涉及优化:是在运行时仅由JVM还是在编译时进行优化?

为了编写高效的代码,在哪里可以找到支持的优化列表?还是JVM优化足够强大,以至于无论速度如何,我都必须编写可读性强且易于维护的代码?

乔恩·斯基特(Jon Skeet):

大多数优化是由JVM完成的。与编译时相比,JIT级别上的优化范围通常更大。(实际上已删除了“优化”标志javac,因为事实证明,某些“优化”实际上损害了现实世界中的性能。)

通常(这不仅适用于Java,而且适用于多种语言/平台):

  • 编写尽可能可读和可维护的代码。
  • 制定绩效目标和基准,以便您始终可以衡量绩效
  • 尽力使您的架构发挥作用;以后很难更改(与更改实现相比)
  • 从算法复杂度的角度考虑性能,而不是“使其提高10%”:从O(n ^ 2)到O(n)的更改(通常)更为重要。(这在很大程度上取决于实际使用情况-如果仅处理较小的值n,由于恒定因素,“理论上更好”的算法很容易最终变慢。)
  • 使用探查器确定瓶颈所在
  • 当探查器认为值得做的事情时,仅以可读性为代价进行微优化
  • 经过这样的优化后进行衡量-您实际上可能没有太大影响,在这种情况下,请回滚

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章