一尘不染

Java性能技巧

java

我有一个从C移植到Java的程序。这两个应用程序都使用quicksort来排序一些分区数据(基因座标)。

Java版本运行速度很快,但我想使其更接近C版本。我正在使用Sun JDK v6u14。

显然我无法与C应用程序相提并论,但我想学习如何在合理的范围内(在环境限制内)获得尽可能多的性能。

我可以做哪些事情来测试应用程序不同部分的性能,内存使用情况等?我该怎么办?

另外,我可以实施哪些技巧(通常)来更改类和变量的属性和组织,从而减少内存使用并提高速度?

编辑 :我正在使用Eclipse,并且显然会首选任何第三方工具的免费选项。谢谢!


阅读 185

收藏
2020-12-03

共1个答案

一尘不染

不要试图超越JVM。

特别是:

  • 不要为了性能而避免创建对象

  • 在适用的地方使用不可变的对象。

  • 正确使用对象的范围,以便GC可以完成其工作。

  • 在您指的是原语时使用原语(例如,不可为null的int与可为null的Integer相比)

  • 使用内置的算法和数据结构

  • 处理并发时,请使用java.util.concurrent包。

  • 性能上的正确性。首先正确处理,然后进行测量,然后使用分析器进行测量,然后进行优化。

2020-12-03