ns(nanosecond):纳秒, 时间单位。一秒的10亿分之一,即等于10的负9次方秒。常用作 内存读写速度的单位。 1纳秒=1000 皮秒 1纳秒 =0.001 微秒 1纳秒=0.000001 毫秒 1纳秒=0.00000 0001秒 其实翻过来看更清晰,咱们看毫秒啊 100000纳秒=1毫秒
java中System.nanoTime()返回的是纳秒, nanoTime而返回的可能是任意时间,甚至可能是负数…… java中System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数. 两个方法都不能保证完全精确,精确程度依赖具体的环境.
package Action;
public class demo {
public static void main(String[] args) {
//1纳秒=0.000001 毫秒
//100000纳秒=1毫秒
int count=100000;
long start = System.nanoTime();
long sum=0;
for (int i = 1; i <= count; i++) {
sum+=i;
}
System.out.println(sum);
long end = System.nanoTime();
System.out.println("累计"+count+"的值用时:"+(end-start)+"纳秒");
System.gc();//清理一下
long start1 = System.currentTimeMillis();
long sum1=0;
for (int i = 1; i <= count; i++) {
sum1+=i;
}
System.out.println(sum1);
long end1 = System.currentTimeMillis();
System.out.println("累计"+count+"的值用时:"+(end1-start1)+"毫秒");
}
}
可以看到纳秒更加细致的反应除了程序的运行之间,基本上定义一个变量用时100纳秒,咱们可以根据具体的情况进行更为细致的优化,让程序更加的快捷。