我有一个简单的下面的程序,它遍历一个数组
Integer [] intArray = new Integer[20000];
int index=0;
for(int i=10000; i>=0; i--){
intArray[index]=i;
index++;
}
long startTime = System.currentTimeMillis();
for(Integer t : intArray){
System.out.println(t);
}
long endTime = System.currentTimeMillis();
long consumedTime = endTime-startTime;
System.out.println("Consumed time "+ consumedTime);
Run Code Online (Sandbox Code Playgroud)
我总是得到不同的消耗时间值,如743,790,738,825,678.
为什么for循环所花费的时间对于每次执行总是不同的.
注意我在main方法中运行此代码.我的操作系统是Ubuntu,处理器是32位.
小智 1
这是因为当您运行 java 程序时,您的操作系统会切换任务并执行无数的同步操作。如果操作系统在运行时没有处理大量数据,则程序可能会很快,而当操作系统繁忙时,程序也可能会很慢。
换句话说,每次程序运行时,操作系统都会执行一组不同的并发任务,因此执行时间不同。
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |