10
|
jjnguy Julien Chastang · 技术社区 · 16 年前 |
1
12
|
3
2
剖析?我不知道你在用什么IDE,但是 Eclipse has a decent proflier 此外,网站上还列出了一些开源分析器 java-source |
4
2
简而言之 profilers 将告诉您调用程序的哪个部分的频率。 我不怎么介绍我的程序,所以我没有太多的经验,但我一直在玩 NetBeans IDE 当我测试它的时候。(我通常也使用Eclipse。我还将研究Eclipse中的评测功能。) 评测是一种技术,通常用于测量程序的哪些部分占用了大量的执行时间,这反过来又可用于评估执行优化是否有利于提高程序的性能。 祝你好运 |
5
1
1) 这是你的错:) 2) 如果您使用的是eclipse或netbeans,请尝试使用评测功能——它会很快告诉您代码在哪里花费了大量时间。 3) 如果做不到这一点,请在您认为内部循环所在的位置添加控制台输出——您应该能够快速找到它。 |
6
1
|
7
1
使用分析器。有很多。以下是一份清单: http://java-source.net/open-source/profilers . 例如,您可以使用 JIP |
8
1
Eclipse、Maven、Ant和IDEA的插件都是可用的。它是 free for open source ,或者你可以找一个 30 day evaluation license |
9
1
如果您使用的是Sun Java 6,那么最新的JDK发行版将随附 JVisualVM 在bin目录中。这是一个功能强大的监视和分析工具,使用起来几乎不费吹灰之力—您甚至不需要使用特殊参数启动程序—JVisualVM只列出当前运行的所有java进程,您可以选择要使用的进程。 此工具将告诉您所有处理器时间都在使用哪些方法。 现在有很多更强大的工具,但是先玩一玩免费的吧。然后,当你读到有哪些其他功能可用时,你会对它们如何帮助你有所了解。 |
10
1
这是一个典型的“高CPU”问题。 有两种高CPU问题
b) 当我们执行某些操作时,CPU使用率“异常高”。在这种情况下,CPU可能不是100%,但会异常高。通常,当我们在代码中执行CPU密集型操作(如XML解析、序列化、反序列化等)时,就会发生这种情况。
案例(b)也可以使用以相等间隔获取的线程转储进行分析。如果幸运的话,您将能够找到问题代码,如果您不能使用线程转储识别问题代码。你需要求助于剖析器。根据我的经验,YourKit profiler非常好。 我总是先尝试线程转储。探查器只是最后的手段。在80%的情况下,我们将能够识别使用线程转储。 |
11
0
或者对您的一些常见组件使用JUnit测试用例和代码覆盖率工具。如果有调用其他组件的组件,您将很快看到这些组件被执行了很多次。
|
12
0
在单线程代码中,我发现添加了如下语句: |
KWMuller · 如何在Netbeans中访问调用计数? 7 年前 |
Tim · 测量所有目标(包括相关目标)的xcodebuild持续时间 7 年前 |
Bram · 如何启动和停止性能采样 7 年前 |
GoodGoodMan · 如何测量C代码中方法的cpu和内存使用率 7 年前 |
JumpingJezza · 读取2D矩阵的最快方法 7 年前 |
Mayank · 作为后台服务运行的行分析python代码 7 年前 |