当前位置:网站首页>计算程序运行时间 demo
计算程序运行时间 demo
2022-07-29 06:46:00 【你若不离不弃,我必生死相依】
currentTimeMillis与StopWatch 的时间差工具:
计算时间差(天,小时,分钟):博客
Java 实例 时间的处理demo:博客
StopWatch
主要方法: 方法start():开始计时
stop():停止计时
suspend():暂停秒表
resume():恢复秒表
reset():重置秒表
split():设定split点
getSplitTime():获取时间,时间为从计时起点到最新设置的split点之间的时长
getTime():显示当前秒表时间,可以通过指定TimeUnit来指定返回的时间单位
import cn.hutool.core.date.StopWatch;
maven
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
package com.example.democrud.democurd.controller;
//import org.apache.commons.lang.time.StopWatch;
import cn.hutool.core.date.StopWatch;
public class demoTest {
public static void main(String[] args) throws InterruptedException {
currentTimeMillis();
// StopWatch();//多线程适用任务
StopWatch01();//多线程适用任务 多线程执行demo
}
private static void StopWatch01() throws InterruptedException {
// 创建一个 StopWatch 实例
StopWatch sw = new StopWatch("实例");
// 开始计时
sw.start("任务1");
Thread.sleep(1000);
// 停止计时
sw.stop();
System.out.printf("任务1耗时:%d%s.\n", sw.getLastTaskTimeMillis(), "ms");
sw.start("任务2");
Thread.sleep(1100);
sw.stop();
System.out.printf("任务2耗时:%d%s.\n", sw.getLastTaskTimeMillis(), "ms");
System.out.printf("任务数量:%s,总耗时:%ss.\n", sw.getTaskCount(), sw.getTotalTimeSeconds());
}
/* private static void StopWatch() { try{ StopWatch stop=new StopWatch(); //start stop.start();//开始计时 Thread.sleep(1000); stop.split();//设置split点 System.out.println("1==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间 Thread.sleep(500); stop.split();//设置split点 System.out.println("2==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间 Thread.sleep(1000); stop.split();//设置split点 System.out.println("3==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间 Thread.sleep(1000); stop.split();//设置split点 System.out.println("4==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间 System.out.println("5==>时间为"+stop.getTime()+"毫秒");//getTime()统计从start到现在的计时 //stop stop.stop();//停止计时 Thread.sleep(1000); System.out.println("6==>时间为"+stop.getTime()+"毫秒");//getTime()统计从start到现在的计时 } catch (InterruptedException e) { e.printStackTrace(); } }*/
private static void currentTimeMillis() {
long startTime = System.currentTimeMillis();
try {
Thread.sleep(10000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
System.out.println("Main 运行时间 :" + (endTime-startTime)/1000+"秒");
}
}
执行结果是:
Main 运行时间 :10秒
任务1耗时:999ms.
任务2耗时:1099ms.
任务数量:2,总耗时:2.098904701s.
Process finished with exit code 0
还有一个是引用的包不同调用的方法;
import org.apache.commons.lang.time.StopWatch;
package com.example.democrud.democurd.controller;
import org.apache.commons.lang.time.StopWatch;
//import cn.hutool.core.date.StopWatch;
public class demoTest {
public static void main(String[] args) throws InterruptedException {
// currentTimeMillis();
StopWatch();//多线程适用任务
// StopWatch01();//多线程适用任务 多线程执行demo
}
private static void StopWatch() {
try{
StopWatch stop=new StopWatch();
//start
stop.start();//开始计时
Thread.sleep(1000);
stop.split();//设置split点
System.out.println("1==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间
Thread.sleep(500);
stop.split();//设置split点
System.out.println("2==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间
Thread.sleep(1000);
stop.split();//设置split点
System.out.println("3==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间
Thread.sleep(1000);
stop.split();//设置split点
System.out.println("4==>时间为"+stop.getSplitTime()+"毫秒");//getSplitTime()获取从start 到 最后一次split的时间
System.out.println("5==>时间为"+stop.getTime()+"毫秒");//getTime()统计从start到现在的计时
//stop
stop.stop();//停止计时
Thread.sleep(1000);
System.out.println("6==>时间为"+stop.getTime()+"毫秒");//getTime()统计从start到现在的计时
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
执行结果是
1==>时间为1001毫秒
2==>时间为1502毫秒
3==>时间为2502毫秒
4==>时间为3503毫秒
5==>时间为3503毫秒
6==>时间为3503毫秒
边栏推荐
猜你喜欢
Student status management system based on C language design
Improved Pillar with Fine-grained Feature for 3D Object Detection论文笔记
我的个人网站不让接入微信登录,于是我做了这个
聊天机器人有何用处?有何类型?看完这些就明白了!
Interface test actual project 03: execute test cases
Revolution of game assets
Excel file reading and writing (creation and parsing)
Operator3 - design an operator
OCR光学字符识别方法汇总
个人博客系统(附源码)
随机推荐
SpingBoot整合Quartz框架实现动态定时任务(支持实时增删改查任务)
Student achievement ranking system based on C language design
CVPR2021| 基于自监督学习的多视图立体匹配 (CVPR2021)
Remote invocation of microservices
Pod基本介绍
gcc/g++的使用
Custom events
tp6 使用 ProtoBuf
SQL优化
我的创业邻居们
Vmware16 create virtual machine: win11 cannot be installed
Spark Learning Notes (VII) -- spark core core programming - RDD serialization / dependency / persistence / partition / accumulator / broadcast variables
H3C_ Using setting default static routing priority to realize the active and standby function of export dual lines
Why does ETL often become ELT or even let?
Improved Pillar with Fine-grained Feature for 3D Object Detection论文笔记
My personal website doesn't allow access to wechat, so I did this
Gin routing, parameters, output
实现改变一段文字的部分颜色效果
2022-07-28: what is the output of the following go language code? A:AA; B:AB; C:BA; D:BB。 package main import ( “fmt“ ) func main() { f
彻底搞懂kubernetes调度框架与插件