您所在的位置:主页 > Java培训 >

Java性能调优的3个实用技巧

时间:2018-12-01 17:46来源:未知 作者:os 点击:

       大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识。是的,这并不没有错。诚然,优化应用程序以获得较好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事。下面有几个很容易遵循的建议和较佳实践能够帮你创建一个性能良好的应用程序。
       这些建议中的大多数都是基于Java的,但是也不一定,也有一些是可以应用于所有的应用程序和编程语言的。在我们分享基于Java的性能调优技巧之前,让我们先讨论一下这些通用的性能调优技巧。
1.在必要之前,先不要优化
       这可能是最最重要的性能调优技巧之一。你应该遵循常见的较佳实践,并尝试有效地实现你的用例。但这并不意味着在证明它是必要之前,替换任何标准库或构建复杂的优化。
       在大多数情况下,过早的优化占用了大量的时间,使得代码难以读取和维护。更糟糕的是,这些优化通常不会带来任何好处,因为你花费了大量时间来优化应用程序的非关键部分。
       那么,你如何证明你需要优化某些东西呢?
       首先,你需要确定应用程序代码的速度,例如,为所有API调用指定一个较大响应时间,或者指定在特定时间范围内导入的记录数量。完成之后,你可以度量应用程序的哪些部分太慢而需要改进。当这样做之后,那么请继续看第二个调优技巧。
2.使用分析器来找到真正的瓶颈
      在你遵循第一条建议,并确定你的应用程序的某些部分的确需要改进之后,问自己从哪里开始?
      你可以用两种方法来解决这个问题:
      你可以看一下你的代码,从看起来可疑或者你觉得它可能会产生问题的部分开始。
      或者使用分析器,获取代码中每个部分的行为和性能的详细信息。
      至于为什么应该总是遵循第二种方法。
      答案应该很明显,基于分析器的方法能让你更好地理解代码的性能含义,并允许你关注最关键的部分。如果你曾经使用过分析器,你将会惊讶于代码的哪些部分造成了性能问题。然而,很多时候,你的第一次猜想会把你引向错误的方向。
3 .为整个应用程序创建性能测试套件
      这是另一个帮助你避免许多意想不到问题的一般技巧,这些问题通常发生在性能改进部署到生产环境之后。你应该经常定义测试整个应用程序的性能测试套件,并在你完成性能改进之前和之后运行它。
      这些额外的测试运行将帮助你识别更改的功能和性能方面的影响,并确保你不会发布一个弊大于利的更新。如果你的任务运行于应用程序的多个不同部分比如数据库或缓存,这一点尤其重要。