System.nanoTime()与System.currentTimeMillis

平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快。后来看到java中产生随机数函数以及线程池中的一些函数使用的都是System.nanoTime,下面说一下这2个方法的具体区别。

 System.nanoTime提供相对精确的计时,但是不能用他来计算当前日期,

返回最准确的可用系统计时器的当前值,以毫微秒(纳秒 )为单位。

纳秒 
  ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。 
  1纳秒=0.000001 毫秒 
  1纳秒=0.00000 0001秒 

 

System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.currentTimeMillis来计算当前日期,星期几等,可以方便的与Date进行转换

返回以毫秒为单位的当前时间

 

 

http://blog.csdn.net/dliyuedong/article/details/8806868

 

 

 

你可能感兴趣的:(java,nanoTime)