为什么在Java中对方法进行计时时会使用finally块?

时间:2012-01-26 08:32:34

标签: java timing

https://stackoverflow.com/a/180191

这里通过在普通块中调用System.nanoTime()来定时方法,而在finally块中调用结束时间?

这是否只是为了报告正确的时间,即使方法抛出异常?或者确实保证更多:不仅会被调用,而且还会在方法之后(即防止任务切换或类似的......)?

在这里使用final修饰符的动机是什么?

1 个答案:

答案 0 :(得分:6)

这样做的唯一原因是确保即使存在异常也会调用第二个nanoTime()

没有与任务切换相关的保证。

对于final修饰符,我认为它们只是个人风格的问题,并且对时间没有影响。就像编写该答案的人一样,我经常将变量实际上标记为final