Java 为什么System.currentTimeMillis()在Linux上运行缓慢?
我想计算每个方法的响应时间。这可以用System.currentTimeInMillis完成,但我听说它在linux上很慢 有人能解释一下它为什么慢吗?Java 为什么System.currentTimeMillis()在Linux上运行缓慢?,java,performance,time,milliseconds,Java,Performance,Time,Milliseconds,我想计算每个方法的响应时间。这可以用System.currentTimeInMillis完成,但我听说它在linux上很慢 有人能解释一下它为什么慢吗?java.time.Instant.now() 这可以通过System.currentTimeInMillis完成 该方法System.getCurrentTimeInMillis被Instant.now()取代 在大多数Java 9及更高版本的实现中,您会发现,Instant以更精细的微秒分辨率捕捉当前时刻,对于小数点的六位数,而不是三位数。清
java.time.Instant.now()
这可以通过System.currentTimeInMillis完成
该方法System.getCurrentTimeInMillis
被Instant.now()取代
在大多数Java 9及更高版本的实现中,您会发现,Instant
以更精细的微秒分辨率捕捉当前时刻,对于小数点的六位数,而不是三位数。清楚地说,Instant
可以表示分辨率更高的瞬间,纳秒,但可以用微秒捕捉当前瞬间。今天的传统硬件无法以纳米分辨率精确跟踪时间
System.nanoTime()
我想计算每个方法的响应时间
对于微观基准测试,请使用System.nanoTime
。此方法跟踪经过的无休止的纳秒循环,但与当前日期时间无关
请注意,微观基准比较棘手。当由新手执行时,结果可能不可靠
对于严重的微观基准,考虑使用该框架。
避免System.currentTimeInMillis
…System.currentTimeInMillis,但我听说它在linux上运行缓慢
我不知道是什么促使了这一说法。我怀疑你误解了
无论如何,这个问题是没有意义的。在现代Java中,没有人需要再次调用System.currentTimeInMillis
。这里有答案