Java中如何使用System.currentTimeMillis()显示毫秒级程序运行时间
要统计代码的毫秒级执行时间,只需要分别记录目标代码执行前后的时间戳,再计算二者的差值即可,你原有代码只存储了执行前的时间,缺少结束时间采集和差值计算的步骤。
修改后的完整代码如下:
public class Assignment4 { /** * @param args the command line arguments */ public static void main(String[] args) { // 记录代码执行前的时间戳 long startTime = System.currentTimeMillis(); int n=10; for(int i=0;i<n;i++) System.out.println(i); // 记录代码执行后的时间戳 long endTime = System.currentTimeMillis(); // 计算差值得到执行时长 long costTime = endTime - startTime; System.out.println("程序执行耗时:" + costTime + "毫秒"); } }
补充说明
- 你当前的测试逻辑只有10次打印,执行速度极快可能得到耗时为0的结果,属于正常现象,可以把
n的数值调大到10000以上就能看到明显的耗时数值。 - 如果需要更高精度的计时,推荐使用
System.nanoTime(),该方法返回纳秒级时间戳,不受系统时间修改的影响,更适合短代码块的耗时统计。
内容的提问来源于stack exchange,提问作者Matt Brennan
相关产品推荐
相关产品推荐

