如何在Java开发中度量性能
是否有任何工具可以测量每个函数调用的执行时间,并找出给定开发JavaJ2SE项目的瓶颈?谢谢 使用分析工具,例如,和(这是一个命令行工具)。您正在寻找分析工具。我知道NetBeans包含一个体面的 你也可以看看这个问题:如何在Java开发中度量性能,java,performance,Java,Performance,是否有任何工具可以测量每个函数调用的执行时间,并找出给定开发JavaJ2SE项目的瓶颈?谢谢 使用分析工具,例如,和(这是一个命令行工具)。您正在寻找分析工具。我知道NetBeans包含一个体面的 你也可以看看这个问题: JDK1.6似乎附带了一个基本的分析器。因此,您可能想先试试。它应该包含在jdk6附带的VisualVM中:您可以尝试使用面向方面的编程来拦截每个方法调用并计算持续时间。是的,有很多工具—类似于概要文件或eclipse的工具。查看t以了解更多关于评测工具和Java应用程序性能的
JDK1.6似乎附带了一个基本的分析器。因此,您可能想先试试。它应该包含在jdk6附带的VisualVM中:您可以尝试使用面向方面的编程来拦截每个方法调用并计算持续时间。是的,有很多工具—类似于概要文件或eclipse的工具。查看t以了解更多关于评测工具和Java应用程序性能的信息
还可以查看这一点来了解开源java概要文件。测量很好,但这是发现瓶颈的一种非常间接的方法。一种非常直接的方法是:只需点击ctrl-break几次,然后检查线程堆栈 任何瓶颈都是一行代码,几乎总是一个函数调用,它经常出现在某些线程的堆栈上。情况越糟,出现的频率就越高
只需寻找任何这样经常出现的代码行。如果你能想出如何少叫它,或者根本不叫它,你肯定会节省大量的时间 Java JDK在bin文件夹下附带了JVisualVM,一旦您的应用程序服务器(例如正在运行)就可以运行visualvm并将其连接到本地主机,这将为您提供内存分配并使您能够执行堆转储
有关如何启用的详细步骤:请考虑最精确和非侵入性的 IntelliJ IDEA Ultimate具有内置的探查器支持: 如何设置visualvm: