美文网首页
System.nanoTime()

System.nanoTime()

作者: 飘逸小天 | 来源:发表于2019-05-13 16:20 被阅读0次

    纳秒

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

    1纳秒=0.000001 毫秒

    1纳秒=0.00000 0001秒

     java的System.currentTimeMillis()和System.nanoTime()区别:

     java中System.nanoTime()返回的是纳秒,nanoTime而返回的可能是任意时间,甚至可能是负数。

     java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数.  <<======== 注意

    (所以照就 毫秒与纳秒 不是1000000倍数 关系)

    两个方法都不能保证完全精确,精确程度依赖具体的环境.

    其他:

    1

    https://blog.csdn.net/paul_lh/article/details/6419982

     https://blog.csdn.net/u012581453/article/details/53706573

    2

    1秒=1000毫秒(ms), 1毫秒=1/1000秒(s);

    1秒=1000000 微秒(μs), 1微秒=1/1000000秒(s);

    1秒=1000000000 纳秒(ns),1纳秒=1/1000000000秒(s);

    1秒=1000000000000皮秒 1皮秒==1/1000000000000秒。

    3

    package com.cassandra;

    /**

     * 测试java纳秒操作

     * @author mapeijie

     */

    public class NanoSecondTest{

    /**

    java纳秒级操作事项

    1--JDK5.0之后才有纳秒API--long System.nanoTime();

    2--精度因操作系统而差异--win和linux结果差异很大

    3--win32暂不支持纳秒操作

    4--1 sec == 1000 mill sec == 1000 nano sec

    5--NoSql and cached 经常会有纳秒级操作:cassandra的Timestamp默认是纳秒.

    */

    public static void NanoSec(){

    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss.S");

    long startNano = System.nanoTime();

    long startMill = System.currentTimeMillis();

    for(int i = 1 ; i <= 1000 ; i++){

    long nano = System.nanoTime();

    System.out.print(sdf.format(new java.util.Date(nano)) + "<=>");

    System.out.print(sdf.format(new java.util.Date(nano/(1000))) + "<-->");

    if(i%2 == 0){

    System.out.println();

    }

    }

    System.out.println("nano:" + (System.nanoTime() - startNano));;

    System.out.println("mill:" + (System.currentTimeMillis() - startMill));;

    System.out.println(System.currentTimeMillis());

    System.out.println(System.nanoTime());

    System.out.println(Long.MAX_VALUE);

    System.out.println(Long.MIN_VALUE);

    }

    public static void main(String args []){

    NanoSec();

    }

    }

    相关文章

      网友评论

          本文标题:System.nanoTime()

          本文链接:https://www.haomeiwen.com/subject/tdtlaqtx.html