如何衡量Java开发中的性能

是否有任何工具可以测量每个函数调用的执行时间,并找出给定的开发java j2se项目的瓶颈? 谢谢!

使用分析工具,例如YourKit , JProfiler和HPROF (这是一个命令行工具)。

您正在寻找一个分析器。 我知道NetBeans包含一个不错的版本。

您还可以查看以下问题: 开源Java Profilers 。

似乎JDK 1.6附带了一个基本的探查器。 所以也许你想先尝试一下。它应该包含在jdk6附带的VisualVM中:visualvm profiler

是的,有很多工具 – 像Netbeans Profiler或eclipse等同的配置文件。 查看JavaPassion的过程,了解有关分析工具和Java应用程序性能的更多信息。

看看这个SO问题 ,找出开源java配置文件。

您可以尝试面向方面编程来拦截每个方法调用并计算持续时间。

测量很好,但是找到瓶颈是非常间接的方式。 一个非常直接的方法是:只需按几次ctrl-break,然后检查线程堆栈。

任何瓶颈都是一行代码,几乎总是函数调用,它经常出现在某个线程的堆栈上。 它越糟糕,它出现的次数就越多。

只需寻找任何经常出现的代码行。 如果你能弄清楚如何更少或更少地调用它,你将节省一大堆时间,保证。 这就是原因。

Java JDK在bin文件夹下附带JVisualVM,一旦您的应用程序服务器(例如正在运行),您可以运行visualvm并将其连接到localhost,这将为您提供内存分配并使您能够执行堆转储

在此处输入图像描述

有关如何启用的更详细步骤: http : //sysdotoutdotprint.com/index.php/2017/08/01/turn-profiler-java/