为什么80%的码农都做不了架构师?>>>
在Java中,用System.currentTimeMillis()
来测量时间最方便。
你要做的是在某些操作之前获取到时间,然后在这些操作之后你想要测量时间,算出时间差。下面是一个例子:
1
|
long startTime = System.currentTimeMillis();
|
3
|
long endTime = System.currentTimeMillis();
|
4
|
long totalTime = endTime - startTime;
|
现在变量totalTime
将包含执行callOperationToTime()
方法所需要的全部时间。
反复操作
由于System.currentTimeMillis()
没有返回精准的时间,所以不止一次地去执行测量操作是个不错的主意。也许10次、100次或者1000次,甚至更多。这样由于大粒度时间值(该值并不是每毫秒都在变化着)而导致的非精准时间将趋于平稳。(原文:That way inaccuracy caused by large grained time values (values that does not change every millisecond) is leveled out.)
反复执行很多次测量操作的另一个很好的理由是,允许Java
虚拟机去装载那些测量操作代码的classes
,即时编译它,或许还能对它进行优化。(译者注:JVM
中的JIT
会将字节代码中经常使用到的片段编译为机器码,带来性能提升。有关JIT
有篇不错的文章介绍,地址在这)
Timer类
前文所列出的计算方法是相当繁琐的并且沉闷,我们可以将它封装到一个Timer
类中,下面是大概的例子:
03
|
private long startTime = 0 ;
|
04
|
private long endTime = 0 ;
|
07
|
this .startTime = System.currentTimeMillis();
|
11
|
this .endTime = System.currentTimeMillis();
|
14
|
public long getStartTime() {
|
15
|
return this .startTime;
|
18
|
public long getEndTime() {
|
22
|
public long getTotalTime() {
|
23
|
return this .endTime - this .startTime;
|
下面是个如何使用Timer
类的例子:
1
|
Timer timer = new Timer();
|
5
|
long totalTime = timer.getTotalTime();
|
转载于:https://my.oschina.net/gaowm/blog/510968
Java Date Time 教程-时间测量相关推荐
- Java Date Time 教程
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏 目录 Java 8 Date Time API Java 7 Date Time API 当你初次尝试弄明白怎么去使用Java的date ti ...
- Java Date Time 教程-java.sql.Date
Java的java.sql.Date类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期或者从java.sql.ResultSet获取日期,你将会和 ...
- Java Date Time 教程-java.sql.Timestamp
Java的java.sql.Timestamp类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期+时间或者从java.sql.ResultSet获 ...
- Java Date Time 教程-System.currentTimeMillis()
原文链接 作者:Jakob Jenkov 译者:魏嘉鹏 静态方法System.currentTimeMillis() 返回从1970年1月1日到现在的总毫秒数.返回类型为long.下面是一个例子: ...
- Java Date类型数据 时间加一天,加一小时,加一分,加一秒
首先获取当前的时间 Date date = new Date();System.out.println(date); 输出: Sun Jun 19 18:25:20 CST 2022 将date转换为 ...
- java date 格式化_3种 Springboot 全局时间格式化方式,别再写重复代码了
原文:3种 Springboot 全局时间格式化方式,别再写重复代码了 掘金 作者: 程序员内点事 时间格式化在项目中使用频率是非常高的,当我们的API接口返回结果,需要对其中某一个date字段属性进 ...
- 5、时间日期的处理:Java Date类、Calendar类详解
在 Java 中获取当前时间,可以使用 java.util.Date 类和 java.util.Calendar 类完成.其中,Date 类主要封装了系统的日期和时间的信息,Calendar 类则会根 ...
- java date 操作类_JAVA时间操作类常用方法汇总
1.JAVA中日期的获取.设置和格式化 (1)JAVA提供了3个日期类:Date.Calendar和DateFormat. Date()方法主要用于创建日期对象并获取日期: Calendar()方法主 ...
- 【Java】JDK1.8新特性Date类----日期/时间改进
一.为什么我们需要新的Java日期/时间API? 1.8之前JDK自带的日期处理类非常不方便,我们处理的时候经常是使用的第三方工具包,比如commons-lang包等.不过1.8出现之后这个改观了很多 ...
最新文章
- 一篇文章彻底了解清楚什么是负载均衡
- python 小说爬虫_从零开始写Python爬虫 --- 1.7 爬虫实践: 排行榜小说批量下载
- 加油卡 格式判断 java_JAVA实验_题目8
- Nodejs开发框架Express3.0开发手记
- 数据体系建设的开端,该如何规划平台?
- 51CTO网站博客改版意见寻求
- java代码块执行顺序_JAVA代码块执行顺序分析测试
- verilog实现多周期处理器之——(二)第一条指令ori的实现
- python定时任务之cron_Python定时任务框架APScheduler 3.0.3 Cron示例
- Android 3D 编程:索引
- Android 硬编码
- ftps协议怎么连接服务器,浅谈 FTP、FTPS 与 SFTP的区别
- redis配置(2)
- mysql中各种类型的锁
- Elasticsearch集群的脑裂问题
- 实践中的重构19_脱裤子放屁
- centos下tomat设置开机启动
- mysql 通过客户端执行now()函数,时差为8小时
- HI+AI|吾来助力惠氏CRM喜提「金耳唛杯」
- 吃鸡是python写的吗_吃鸡游戏也是用Python写的?学了Python,120个月年终奖向你招手~...
热门文章
- 机器学习之 weka学习(五)示例用法
- css font简写
- C#控件访问调用它的父级页面
- 算法入门经典 第三章
- vSphere Client 编辑虚拟机属性的问题
- [置顶] Android开发者官方网站文档 - 国内踏得网镜像
- oracle存储过程+游标处理select数据
- [Buzz Today]2012.08.08
- SQL Server 数据库维护脚本合集[005]-删除数据库所有用户表
- charles使用说明(基于mac)