Java简单计时的实现案例(可以用来限时循环)
在软件开发过程中经常需要知道程序运行的大概时间,或者需要在规定时间内取数据,这是可以使用下面的方法获取时间段,还可以用在限时循环
方法一:
/** 获取当前系统时间*/ long startTime = System.currentTimeMillis(); /** 程序运行 processRun();*/ /** 获取当前的系统时间,与初始时间相减就是程序运行的毫秒数,除以1000就是秒数*/ long endTime = System.currentTimeMillis(); long usedTime = (endTime-startTime)/1000;
方法二:
//初始化变量 Date before=new Date(); Date now=new Date(); //定时循环 while(t<=10//循环时间){ // 计算循环总时长 now = new Date(); // 现在的时间减去开始的时间可以计算出来使用的时间 t = (now.getTime() - before.getTime())/1000; //循环内容 }
补充知识:Java中更精确的计时代码
我们一般的java运输计时代码是
long begintime = System.currentTimeMillis(); //运算代码 long endtinme=System.currentTimeMillis(); long costTime = (endtime - begintime);
但是,如果运算时间很短的时候,这个一个是现在机器太厉害,还有由于.currentTimeMillis()是1970年1月1日到现在的毫秒数,估计应该把很多小数位省略了,没看过代码,猜的,呵呵。结果一般是0,无法显示算法消耗时间,这个时候可以用nanoTime(),纳秒。
long begintime = System.nanoTime(); //运算代码 long endtime = System.nanoTime(); long costTime = (endtime - begintime)/1000; //要换算为微秒,就除上1000,就可以
以上这篇Java简单计时的实现案例(可以用来限时循环)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Java计算程序代码执行时间的方法小结
本文实例总结了Java计算程序代码执行时间的方法.分享给大家供大家参考,具体如下: 有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 System的currentTimeMillis()方法,并计算两次调用之间的差值,就是方法执行所消耗的毫秒数. 如方法一: long startTime = System.currentTimeMillis(); //获取
-
Java定时任务的三种实现方式
前言 现代的应用程序早已不是以前的那些由简单的增删改查拼凑而成的程序了,高复杂性早已是标配,而任务的定时调度与执行也是对程序的基本要求了. 很多业务需求的实现都离不开定时任务,例如,每月一号,移动将清空你上月未用完流量,重置套餐流量,以及备忘录提醒.闹钟等功能. Java 系统中主要有三种方式来实现定时任务: Timer和TimerTask ScheduledExecutorService 三方框架 Quartz 下面我们一个个来看. Timer和TimerTask 先看一个小 demo,接着我
-
java当中的定时器的4种使用方式
对于开发游戏项目的同胞来说,Timer 这个东西肯定不会陌生,今天对以前自己经常使用的定时进行了一番小小的总结!没有写具体实现的原理,只是列举出了其中的四种比较常见的使用方法,相对而言,所以只要按照其所列举的例子仿照即可! import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class TimeTest { public stati
-
Java简单计时的实现案例(可以用来限时循环)
在软件开发过程中经常需要知道程序运行的大概时间,或者需要在规定时间内取数据,这是可以使用下面的方法获取时间段,还可以用在限时循环 方法一: /** 获取当前系统时间*/ long startTime = System.currentTimeMillis(); /** 程序运行 processRun();*/ /** 获取当前的系统时间,与初始时间相减就是程序运行的毫秒数,除以1000就是秒数*/ long endTime = System.currentTimeMillis(); long us
-
Java简单使用EasyExcel操作读写excel的步骤与要点
目录 前言 引入EasyExcel依赖 easyExcel写 easyExcel读 总结下easyExcel的步骤和要点 结语 前言 EasyExcel是一个基于Java的.快速.简洁.解决大文件内存溢出的Excel处理工具. 他能让你在不用考虑性能.内存的等因素的情况下,快速完成Excel的读.写等功能. EasyExcel基于POI进行封装优化,降低内存使用,再大的excel也不会出现内存溢出,让使用更加简单方便. 官网: https://easyexcel.opensource.aliba
-
Java中的SPI机制案例分享
目录 1 简单介绍 2 SPI 案例 3 SPI 的原理剖析 1 简单介绍 当我们封装了一套接口,其它项目想要调用我们的接口只需要引入我们写好的包,但是其它项目如果想要对我们的接口进行扩展,由于接口是被封装在依赖包中的,想要扩展并不容易,这时就需要依赖于Java为我们提供的SPI机制. SPI的全称是Service Provider Interface,服务提供者接口,而与之最接近的概念就是API,全称Application Programming Interface,应用程序编程接口.那么这两
-
Java之Spring注解开发案例详解
在Spring4之后,要使用注解开发,必须要保证aop的包导入了 使用注解需要导入context约束,增加注解的支持! <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&
-
Java之策略模式比较器案例讲解
Comparable 比较器,内置定义的比较方法,实现比较 较简单 Comparator 策略模式,需要定义不同的策略和比较的对象,实现比较 较复杂 打个比方,狗有foot一种属性我们用Comparable比较器完成比较 猫有height和weight两种属性,我们用Comparator策略模式完成比较 一.Comparable --狗比较 缺点:自定义排序规则,规则定义好之后,再改起来就不方便,还需要重新开发Sort比较类 1.狗对象 package com.longze.guosh.stra
-
Java之String.format()方法案例讲解
前言: String.format()作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,这里根据查阅的资料做个学习笔记,整理成如下文章,供后续复习查阅. 一. format()方法的两种重载形式: 1. format(String format, Object ... args) 该方法使用指定的格式字符串和参数返回一个格式化的字符串,格式化后的新字符串使用本地默认的语言环境. 2. format(Local l, String format, Pbject ... args) 其中,
-
java之assert关键字用法案例详解
Java2在1.4中新增了一个关键字:assert.在程序开发过程中使用它创建一个断言(assertion).,它的语法形式有如下所示的两种形式: 1.assert condition; 这里condition是一个必须为真(true)的表达式.如果表达式的结果为true,那么断言为真,并且无任何行动 如果表达式为false,则断言失败,则会抛出一个AssertionError对象.这个AssertionError继承于Error对象, 而Error继承于Throwable,Error是和Exc
-
java 异常捕获及处理案例详解
目录 一.Java异常简介 二.Java异常的分类 三.异常的使用及执行流程 四.自定义异常 一.Java异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止.在Java中即,Java在编译或运行或者运行过程中出现的错误. Java提供了更加优秀的解决办法:异常处理机制. 异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持
-
Java Spring之@Async原理案例详解
目录 前言 一.如何使用@Async 二.源码解读 总结 前言 用过Spring的人多多少少也都用过@Async注解,至于作用嘛,看注解名,大概能猜出来,就是在方法执行的时候进行异步执行. 一.如何使用@Async 使用@Async注解主要分两步: 1.在配置类上添加@EnableAsync注解 @ComponentScan(value = "com.wang") @Configuration @EnableAsync public class AppConfig { } 2.在想要异
-
Java 线程的优先级(setPriority)案例详解
线程可以划分优先级,优先级高的线程得到的CPU资源比较多,也就是CPU优先执行优先级高的线程对象中的任务. 设置线程优先级有助于帮助线程规划器确定下一次选中哪一个线程优先执行. java中优先级分为1-10个级别 线程优先级的继承特性 例如a线程启迪b线程,则b线程的优先级与a的一样. 代码说话:(很简单) public class MyThread1 extends Thread { @Override public void run() { System.out.println("MyThr
随机推荐
- Ruby环境下安装使用bundler来管理多版本的gem
- Oracle静态注册与动态注册详解
- as3 rollOver or mouseOver使用说明
- 修改注册表对付病毒、木马、后门及黑客程序
- 详解iOS应用程序内购/内付费(一)
- python检查指定文件是否存在的方法
- Python正则简单实例分析
- Javascript+CSS3实现进度条效果
- javascript实现单击和双击并存的方法
- SuSE Enterprise Linux 10下面启动xdmcp
- Android动画 实现开关按钮动画(属性动画之平移动画)实例代码
- 图解Eclipse j2ee开发环境的搭建过程
- JS库 Highlightjs 添加代码行号的实现代码
- Spring IOC原理详解
- 神经网络(BP)算法Python实现及应用
- java 解析由String类型拼接的XML文件方法
- JavaScript 中那些关于坐标和距离的属性与方法
- RxJS的入门指引和初步应用
- Python pandas用法最全整理
- 如何对react hooks进行单元测试的方法