加速 Java

2022-09-03 08:23:48

这实际上是两个问题,但它们非常相似,为了保持简单,我想我只是将它们放在一起:

  • 首先:给定一个已建立的Java项目,除了简单的代码内优化之外,还有哪些不错的方法来加速它?

  • 其次:在Java中从头开始编写程序时,有哪些好方法可以大大提高性能?

请远离一般的优化技术,除非它们是特定于Java的

我之前问过关于PythonPerl的问题。对于Java,我想知道有什么好的技巧/窍门来提高性能,以及是否有任何特别好的Java分析器。


答案 1

首先:通过代码优化,我假设你已经完成了正确的算法和算法的正确实现。在这种情况下,您将使用探查器并查看垃圾回收器 (GC) 收集垃圾的频率以及它用于收集垃圾的时间。然后你开始研究GC选项 - 但要注意,如果你不知道自己在做什么,你可能会遇到麻烦。
我假设你使用的是java 5/6。在这种情况下,我会在 http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html 中浏览java 5调优指南。还有一个关于java性能的非常好的新信,称为 http://www.javaperformancetuning.com/,您可以订阅它。

除此之外,看看你可以消除多少个尝试/捕获块。看看是否可以消除不必要的异常抛出。

在你可以的地方使用缓存,但不要过度使用。

阅读有效的 Java,第 1 版和/或第 2 版

分析器:我使用您的kit。它非常适合java 1.5及更高版本。您可以获得个人许可证。其他分析器也很好。

就像你有单元和集成测试一样,在持续集成(CI)构建中运行一些性能测试并没有什么坏处。通过这种方式,您可以知道何时回归,特别是如果您使用的是良好的CI构建服务器。


答案 2

确保日志级别不会意外地保留在 DEBUG :)


推荐