什么是Java的性能改进技巧?

时间:2015-11-15 00:10:40

标签: java performance memory ram

嘿伙计们,

我是一个相对较新的Java程序员(一般而言),但我想知道在我制作的程序中最小化内存和RAM使用的不同方法。我已经听说过StringBuilder+作为SELECT id, category_name, url, category_name_unedit FROM mytable WHERE category_name='Girls Clothes' OR category_name='Boys Clothes' GROUP BY category_name 字符串连接的替代品,但我想知道你们对如何最大限度地提高性能及其原因的了解

提前致谢!

1 个答案:

答案 0 :(得分:1)

在现代编程中,可以更好地利用时间来专注于使代码可读而不是尝试微观优化。

现代编译器在这些小优化方面做得非常出色,因此日常程序员不必处理它们,并且在大多数情况下最好将它留给编译器而不是自己尝试。< / p>

总的来说,我会说在开始打字之前,通过提前考虑程序设计可以获得最大的性能提升。一旦你已经实现了10,000多行代码来实现你最新的3D高性能MMORPG,并且你意识到它并不像你希望的那样高性能,那么任何激烈的设计更改都将是相当大的工作。事先要考虑的一些事情是:

  • 考虑一下算法的复杂性,例如字符串连接可以是使用String的O(n ^ 2),但是使用StringBuilder可以是O(n)。
  • 使用object pools重复使用内存,而不是每次都创建新实例
  • 重用数据结构的现有库实现等,而不是尝试自己重新创建它们。
  • 这些实施工作将花费更多的工时,而不是花在他们身上的时间。

最后,我要提一下,如果您尝试优化某些现有代码,因为它的性能不如预期,那么了解问题区域的具体位置非常重要。在这种情况下,分析器是非常宝贵的,应该有助于查明影响性能的任何特定区域。他们可能不在你期望的地方!