long stime=System.currentTimeMillis();
for(int i=0;i<500000;i++)
{
String s1="Hello";
String s2="Hello";
}
long etime=System.currentTimeMillis();
System.out.println("Time diff"+(etime-stime));
long stime1=System.currentTimeMillis();
for(int i=0;i<500000;i++)
{
String s3=new String("Hello");
String s4=new String("Hello");
}
long etime1=System.currentTimeMillis();
System.out.println("Time diff"+(etime1-stime1));
实际上,在这两种情况下我都得到 0 答案。为什么这两种情况都是零
最佳答案
使用System.nanoTime()
作为执行时间。将System.currentTimeMillis();
替换为System.nanoTime();
System.nanoTime() 为您提供纳秒分辨率的计时器,在大多数系统上至少精确到微秒。这使您可以看到小于一毫秒的较小时间间隔。
关于java - java中以下问题的答案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20607928/