2016-06-20 12 views
-1

私はこのコードを書いたので、このコードを実行するたびに異なるランタイムが表示されるのに驚きました。私はAndroidでこれを試してみましたが、同じ問題があります 他の方法やクラスはありません。Java/Android - このコードの実行時に異なるランタイムが発生するのはなぜですか?

public class Sample1 { 

    public static void main(String[] args) { 

     long i = System.nanoTime(); 
     for (int k = 1; k <= 1000000; k++) { 
      // 
     } 
     System.out.print(System.nanoTime() - i); 
    } 
} 
+0

異なる実行時間はどういう意味ですか? –

+1

いつも同じ実行時間を取るべきだと思いますか? – Titus

答えて

1

一部のマシンでは、他のマシンより速くコードが実行されます。また、他のプロセスとCPUを共有するため、任意のマシンで異なる速度で動作することがあります。

また、一部のJavaコンパイラでは、ループが全くないので、forループを完全に最適化します。

関連する問題