4

我听说过很多关于剖析的事情。这是怎么回事?据我了解,这是某种性能测量,但有人可以更清楚地阐述这一点,以便新手能够掌握这个想法。此外,我将 Eclipse IDE 用于我的 Java 程序。我可以使用 Eclipse IDE 分析我的程序吗?分析时要考虑哪些因素(我的意思是最佳实践)?

4

4 回答 4

6

分析基本上显示了给定代码行的执行频率以及在其中花费了多少时间(与其他行相比)。这可以很容易地确定代码大部分时间花费的位置。

它还可以找到您的代码花费大量时间而不做任何事情的地方:这是缓存未命中的典型迹象,这是您应该激活的地方。

通常,程序会在一个地方花费大量时间(例如,90%)。不幸的是,没有分析是不可能找到这个地方的。猜测经常出错。因此,如果您在错误的位置进行优化,这将毫无帮助:如果在该行中花费的总时间只有 10%,那么您的代码只会加快 10%(充其量!)。但是,如果您成功地删除了占用 90% 时间的调用,那么您的程序将快十倍

简而言之,这就是剖析。

Eclipse 提供了内置的分析功能,有人告诉我它们非常好,但由于我不了解它们,所以让其他人来回答。

于 2008-11-11T23:31:09.607 回答
2

Konrad 是对的,但分析也涵盖了程序的其他方面,例如内存消耗。

于 2008-11-12T10:51:13.870 回答
0

YourKit是一个优秀的 Java 分析器,可以很好地与 Eclipse 集成。它绝对物有所值,通常被认为是最好的 Java 分析器。

于 2008-11-12T00:23:58.283 回答
-1

根据我对使用 Eclipse 进行 Java 分析所做的少量研究,您可以使用JProfiler。我从来没有真正比安装它并快速了解它。

于 2008-11-11T23:31:51.603 回答