Java 获取方法消耗的时间

Java 获取方法消耗的时间,java,Java,我想做的是找到触发某个方法所消耗的时间,因此我在该方法之前和之后使用System.currentTimeMillis(),然后获得差异,但是,是否有其他方法,因为获取currentTimeMillis也是时间消耗,并且我正致力于提高某个协议的性能。 这就是我所做的 public void someMethod { long x=System.currentTimeMillis(); ... my bussiness long y=System.currentTimeMillis(); int t

我想做的是找到触发某个方法所消耗的时间,因此我在该方法之前和之后使用System.currentTimeMillis(),然后获得差异,但是,是否有其他方法,因为获取currentTimeMillis也是时间消耗,并且我正致力于提高某个协议的性能。 这就是我所做的

public void someMethod
{
long x=System.currentTimeMillis();
... my bussiness
long y=System.currentTimeMillis();
int timeConsucmed =y-x;

}

如果你是为了测试一个方法而这样做的,那么就使用你正在使用的方法。否则,如果你多次这样做,就使用这个库


成本不高,最多1-2微秒。如果你愿意,你可以把它改成

public void someMethod
{
   //my bussiness
}
无论你从哪里打电话

long x=System.currentTimeMillis();

someMethod();

long y=System.currentTimeMillis();
int timeConsucmed =y-x;

我强烈建议使用和使用。

这是一种常见的方法。请参阅。答案中确实有
System.currentTimeMillis()
System.nanoTime()
,但其中一个问题提到使用探查器,如果您想要更精确的执行时间,这可能是更好的选择。链接已断开…@JimHawkins谢谢!更新链接。