java - java中以下问题的答案是什么?

标签 java loops

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/

相关文章:

Java 类 - 如何将通用对象传递给函数

java - 无法在 Jetty v.9.4.3 中使用两个连接器(http 和 https)

c - 我的 C 程序输出不需要的数组值

java - 无法显示所有西里尔文内容

java - 使用约束冲突。无法解析资源 -javax.xml.bind.annotation 和 jakarta.xml.bind-api

java - 选择表格的项目?用 Selenium

php - 循环中的错误数组值

php - 如何在不使用 foreach 结构的情况下组合数组值和单独的常量?

java - For循环导致JFrame(Eclipse)黑屏

python - 在循环中创建变量并在 Python 中初始化它们