java - Java:运行相同代码所需的时间不同
问题描述
我有一个静态方法,它由一个嵌套循环组成,该循环遍历一个大小为 10,000 的整数数组。我调用该方法一次,并使用System.currentTimeMillis()
(也用System.nanoTime()
)测量时间。然后我再次调用该方法并再次测量时间。我在两个电话上花费的时间不同。第二次调用通常需要更少的时间。
轻微的差异很好,但有时差异很大(运行第二次调用所用时间的 5 倍以上)。例如,第一个方法调用需要 190 毫秒,而第二个调用只需要 35 毫秒。我也尝试过在方法调用之间暂停线程,但所用时间的差异仍然存在。
我怎样才能稳定地测量方法调用所用的时间,以使重复调用所用的时间没有显着变化?
解决方案
推荐阅读
- python - 有人可以给我一个良好的项目进展,以至少将我的 Python 技能从新手提高到中级吗?
- mapbox-gl-js - MapBox GL JS用一根手指触摸围绕一个点旋转相机
- javascript - Loggly 的 Winston 传输无法始终如一地工作
- matlab - MATLAB 编译器调试
- java - Groovy Array.pop() 返回无方法签名:java.lang.String.pop()
- php - 数组推送到在php中给出空值的键
- jquery - 如何在javascript中保存附加值?
- python - 递归生成索引列表 - Python
- html - 试图让两个 div 并排坐着,但代码有问题
- visual-studio - Visual Studio .csproj 文件有一个“TargetFramework”变量