关于时间的最小单位
以前很少研究过这个问题,一次业务上的需求,要求计算的性能要求很高,添加,读取,更新数据的效率都要是毫秒以下,为了测试,不得不在代码中通过前后添加类似这样的语句来调试:
long start = System.currentTimeMillis();
long end = System.currentTimeMillis();
long time = end - start;
这里也就发现一个问题,这里出来的时间都是毫秒,所以低于毫秒的时间不能表示出来。所以就很郁闷。不过,听说,java 1.5版本开始支持更小的时间单位,可以到纳秒,网上搜索了下资料,果然发现了更精确的时间单位:纳秒
于是可以这样计算耗费时间了:
long start = System.nanoTime();
long end = System.nanoTime();
long time = end - start;
测试下果然很精确,了解了下纳秒,原来纳秒的单位很小:
1秒 = 109纳秒 1秒 = 103毫秒
那么,纳秒是最小的时间单位吗,仔细搜索了下,大吃一惊,原来还有更小的时间时间单位:皮秒,飞秒
而且毫秒和纳秒之间还有一个微秒,这些单位之间的换算都是1000,换算如下:
1秒 = 1000000000000000飞秒 = 1000000000000皮秒 = 1000000000纳秒 = 1000000微秒 = 1000毫秒
1秒 = 1000000000000皮秒 = 1000000000纳秒 = 1000000微秒 = 1000毫秒
1秒 = 1000000000纳秒 = 1000000微秒 = 1000毫秒
1秒 = 1000000微秒 = 1000毫秒
1秒 = 1000毫秒
下边统一介绍下各时间单位:
毫秒,时间单位,符号ms(英语:millisecond ),一秒等于1000毫秒,等于10的15次方皮秒.
微秒,时间单位,符号μs(英语:microsecond ).
纳秒,时间单位,ns(nanosecond),一秒的10亿分之一,即等于10的负9次方秒。常用作内存读写速度的单位,其前面数字越小表示速度越快
皮秒,时间单位,符号ps(英语:picosecond ).
飞秒,时间单位,fs(femtosecond),是标衡时间长短的一种计量单位。1飞秒只有1秒的一千万亿分之一,即1e?15秒或0.001皮秒(1皮秒是,1e?12秒)。即使是每秒飞行30万千米的光速,在一飞秒内,也只能走0.3微米,不到一根头发丝的百分之一。可见光的振荡周期为1.30到2.57飞秒。
总结:原来飞秒才是时间的最小单位,至少目前是。但是计算机系统都支持这些时间吗?我只知道目前JDK 1.5只支持毫秒和纳秒。
关于时间的一些换算关系
最新推荐文章于 2021-10-29 16:31:42 发布