Java、Android超精确测量代码执行时间差
来源:互联网 发布:蒙古 知乎 编辑:程序博客网 时间:2024/05/22 11:33
平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快。后来看到java中产生随机数函数以及线程池中的一些函数使用的都是System.nanoTime,下面说一下这2个方法的具体区别。
例如,测试某些代码执行的时间长度:
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;
返回:
系统计时器的当前值,以毫微秒为单位。
从以下版本开始:
1.5
System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.currentTimeMillis来计算当前日期,星期几等,可以方便的与Date进行转换,下面时jdk中的介绍:
返回:
当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。
System.nanoTime提供相对精确的计时,但是不能用他来计算当前日期,在jdk中的说明如下:
返回最准确的可用系统计时器的当前值,以毫微秒为单位。
此方法只能用于测量已过的时间,与系统或钟表时间的其他任何时间概念无关。返回值表示从某一固定但任意的时间算起的毫微秒数(或许从以后算起,所以该值可能为负)。此方法提供毫微秒的精度,但不是必要的毫微秒的准确度。它对于值的更改频率没有作出保证。在取值范围大于约 292 年(263 毫微秒)的连续调用的不同点在于:由于数字溢出,将无法准确计算已过的时间。例如,测试某些代码执行的时间长度:
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;
返回:
系统计时器的当前值,以毫微秒为单位。
从以下版本开始:
1.5
System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.currentTimeMillis来计算当前日期,星期几等,可以方便的与Date进行转换,下面时jdk中的介绍:
public static long currentTimeMillis()
返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更大。例如,许多操作系统以几十毫秒为单位测量时间。
请参阅 Date 类的描述,了解可能发生在“计算机时间”和协调世界时(UTC)之间的细微差异的讨论。返回:
当前时间与协调世界时 1970 年 1 月 1 日午夜之间的时间差(以毫秒为单位测量)。
所以在使用中,我们可以根据我们具体的目的去正确的选择他们。
转自:http://blog.csdn.net/dliyuedong/article/details/8806868
0 0
- Java、Android超精确测量代码执行时间差
- Java、Android超精确测量代码执行时间差
- Java、Android超精确测量代码执行时间差
- Java、Android超精确测量代码执行时间差
- Java精确测量代码运行时间
- 精确计算代码执行的时间差(毫秒)-QueryPerformanceFrequency。
- java计算时间差,精确到纳秒
- Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime
- Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime
- 精确测量代码的CPU运行周期
- Keil精确测量代码运行时间
- java代码计算时间差,精确到 天、月、日、时、分、秒、毫秒
- java中计算时间差,精确到毫秒
- Android Java计算时间差
- C#测量程序时间差
- Java中计算两个时间差(精确到毫秒)
- Java中计算两个时间差(精确到毫秒)
- 精确获取时间差
- Hrbust 1041 Chocolate Auction
- java160116StringTest
- ceph学习笔记
- java160116StringTest2
- Android中的事件处理机制
- Java、Android超精确测量代码执行时间差
- UVA 543 Goldbach's Conjecture
- Myeclipse 10 Maven 构建 Java Web 项目
- 中国车牌号的识别大全
- Yii 在GridView中使用关联模型进行搜索和排序
- java160117StringTest
- python 和 sqlmap的安装使用
- UITableView 状态栏返回顶部 和自定义按钮返回顶部
- 功耗墙