Java统计代码的执行时间的6种方法

Java统计代码的执行时间的6种方法

前言:在日前开发中我们会遇到需要统计运行的时间但是又不想运用JMH测试框架,所以本文就汇总了一些比较常用的统计时间的测试方法,总共有6种,我做了一个大概的思维导图:

在这里插入图片描述

方法一,这个方法System.currentTimeMillis()和System.nanoTime()都是java内置的方法。

package com.qfedu.first;

public class test {

    public static void main(String[] args) {![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d0a7982af91b4985afb88c00d5011a69.png#pic_center)


        long startTime = System.currentTimeMillis();

        //这个获得的是时间戳
        long l = System.nanoTime();

        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        long endTime = System.currentTimeMillis();
        long l2 = System.nanoTime();
        System.out.println(endTime-startTime);
        System.out.println(l2-l);
    }
}

在这里插入图片描述在这里插入图片描述

方法二,new Date也是java中内置的统计时间的方法,在开始执行前new date()创建一个当前时间的对象,在执行结束后 new Date() 一个当前执行时间,然后再统计两个时间间隔就可以。

 Date state = new Date();
        Thread.sleep(100);
        Date end = new Date();
        System.out.println(end.getTime()-state.getTime());

![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?在这里插入图片描述
origin_url=F%3A%5CJava%5Cjava%E5%9F%BA%E7%A1%80_%E7%9F%A5%E8%AF%86%E7%82%B9%E8%87%AA%E5%B7%B1%5C%E6%88%AA%E5%9B%BE%5Cimage-20240516174456790.png&pos_id=img-TVZzBnxv-1715857990488)

方法三,Spring StopWatch

如果我们使用的是spring或者springboot项目,可以直接在项目中使用StopWatch对象来统计代码执行时间;

 StopWatch stopWatch = new StopWatch();
        stopWatch.start();
        Thread.sleep(1000);
        stopWatch.stop();
        System.out.println(stopWatch.getTotalTimeMillis());

在这里插入图片描述

里面有很多方法,可以看看有什么其他的功能

结论

mg-uegVAiDt-1715857990489)]

里面有很多方法,可以看看有什么其他的功能

结论

对于其其他框架的方法,底层核心的代码。还是调用了java代码的底层Systeam.nanoTime进行封装的

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值