探查器如何分析在java、eclipse和junit中哪个方法消耗的时间更多?
对于一些专业java程序员来说,这可能是一个愚蠢的问题,但我现在快发疯了,所以我还在问。请有人给我指引正确的方向
如何分析java程序中哪种方法/方法的哪一部分花费了更多的时间
(我正在使用Eclipse和Junit)
你可以在下面搜索框中键入要查询的问题!
对于一些专业java程序员来说,这可能是一个愚蠢的问题,但我现在快发疯了,所以我还在问。请有人给我指引正确的方向
如何分析java程序中哪种方法/方法的哪一部分花费了更多的时间
(我正在使用Eclipse和Junit)
# 1 楼答案
使用jvisualvm。如今,它与JDK捆绑在一起,但也有一个独立的版本,这是最新的。 通常,当您启动它时,您可以选择连接到哪个正在运行的java进程(这很可能是我们正在运行的单元测试)。您可以指定需要跟踪的限定类名筛选器。通常,会出现一些类插装,您将能够跟踪分配给每个方法的处理时间(以及累计时间)
# 2 楼答案
你需要得到一个Java profilerSome of them integrate well in Eclipse
除此之外,您还可以使用定制的profiler类(如果您没有很多评测工作要做,并且您已经怀疑存在一些瓶颈)
下面是一个简单的类:
和示例用法:
# 3 楼答案
说我过时,但我认为这是最简单的方法:
希望这有帮助:)
# 4 楼答案
有一些在线工具,如IdeOne,可以为您提供代码块执行所需的时间。试试看
# 5 楼答案
测量编程的哪一部分需要多少运行时间的过程称为“评测”
eclipse有许多评测插件。一个is described here
# 6 楼答案
您可以看看Yourkit(商业软件),它可以监视内存、CPU等。它有一个特殊的视图,显示在方法中花费了多少时间(例如,您可以看到40%的执行时间花费在方法
xyz()
)