java计算代码执行时间

时间:2024-09-30 20:06:56

有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 System的currentTimeMillis()方法,并计算两次调用之间的差值,就是方法执行所消耗的毫秒数。

如下代码示例:

  1. public class Main {
  2. /**
  3. * 计算两个时间点直接逝去的毫秒数
  4. *
  5. */
  6. public void computeAndDisplayElapsedTime() {
  7. long startTime = System.currentTimeMillis();
  8. for (int i = 0; i < 10; i++) {
  9. try {
  10. Thread.sleep(60);
  11. } catch (InterruptedException ex) {
  12. ex.printStackTrace();
  13. }
  14. }
  15. long endTime = System.currentTimeMillis();
  16. float seconds = (endTime - startTime) / 1000F;
  17. System.out.println(Float.toString(seconds) + " seconds.");
  18. }
  19. /**
  20. * 启动程序
  21. */
  22. public static void main(String[] args) {
  23. new Main().computeAndDisplayElapsedTime();
  24. }
  25. }

输出结果类似:

```out

0.609 seconds.