我不时遇到提到System.nanoTime()比System.currentTimeMillis()慢很多(调用可能花费高达微秒),但是证明链接通常已经过时,或者导致一些相当自以为是的博客文章不能真正被信任,或者包含与特定平台或这个或那个等有关的信息。我没有运行基准测试,因为我对自己进行涉及如此敏感问题的实验的能力持现实态度,但我的条件非常明确,所以我期待一个相当简单的答案。那么,在平均64位Linux(意味着64位JRE)、Java8和现代硬件上,切换到nanoTime()会花费我几微秒的时间来调用吗?我应该留在currentTimeMillis()吗?
如何将System.currentTimeMillis();转为秒?longstart6=System.currentTimeMillis();System.out.println(counter.countPrimes(100000000)+"for"+start6);控制台显示5761455表示1307816001290。我不知道那是多少秒。有什么帮助吗? 最佳答案 时间单位使用TimeUnitenum内置于Java5及更高版本中。longtimeMillis=System.currentTimeMillis();longtim
如何将System.currentTimeMillis();转为秒?longstart6=System.currentTimeMillis();System.out.println(counter.countPrimes(100000000)+"for"+start6);控制台显示5761455表示1307816001290。我不知道那是多少秒。有什么帮助吗? 最佳答案 时间单位使用TimeUnitenum内置于Java5及更高版本中。longtimeMillis=System.currentTimeMillis();longtim
我有一个网络应用程序,它使用一个很长的时间戳来订购东西。我的web应用后端恰好是用java编写的,所以我正在使用:longtimestamp=System.currentTimeMillis();这会在哪一年(大约)失败?我的意思是,在某个时候,long的范围会溢出,对吧?我们可能都早已死去,但我只是好奇。它会再次像y2k一样吗?我可以为此做些什么准备?可笑,我知道,只是好奇! 最佳答案 它会溢出System.out.println(newDate(Long.MAX_VALUE));打印出来的SunAug1703:12:55GMT-
我有一个网络应用程序,它使用一个很长的时间戳来订购东西。我的web应用后端恰好是用java编写的,所以我正在使用:longtimestamp=System.currentTimeMillis();这会在哪一年(大约)失败?我的意思是,在某个时候,long的范围会溢出,对吧?我们可能都早已死去,但我只是好奇。它会再次像y2k一样吗?我可以为此做些什么准备?可笑,我知道,只是好奇! 最佳答案 它会溢出System.out.println(newDate(Long.MAX_VALUE));打印出来的SunAug1703:12:55GMT-
我很好奇这个。我想检查哪个函数更快,所以我创建了一些代码并执行了很多次。publicstaticvoidmain(String[]args){longts;Stringc="sgfrt34tdfg34";ts=System.currentTimeMillis();for(intk=0;k"+(System.currentTimeMillis()-ts));ts=System.currentTimeMillis();for(inti=0;i"+(System.currentTimeMillis()-ts));}“第二个”循环更快,所以,我认为hadoop中的Bytes类比String类中
我很好奇这个。我想检查哪个函数更快,所以我创建了一些代码并执行了很多次。publicstaticvoidmain(String[]args){longts;Stringc="sgfrt34tdfg34";ts=System.currentTimeMillis();for(intk=0;k"+(System.currentTimeMillis()-ts));ts=System.currentTimeMillis();for(inti=0;i"+(System.currentTimeMillis()-ts));}“第二个”循环更快,所以,我认为hadoop中的Bytes类比String类中
今天我做了一个快速的Benchmark来测试System.nanoTime()和System.currentTimeMillis()的速度性能:longstartTime=System.nanoTime();for(inti=0;i这是结果:System.currentTimeMillis():averageof12.7836022/functioncallSystem.nanoTime():averageof34.6395674/functioncall为什么运行速度差异这么大?基准系统:Java1.7.0_25Windows864-bitCPU:AMDFX-6100
今天我做了一个快速的Benchmark来测试System.nanoTime()和System.currentTimeMillis()的速度性能:longstartTime=System.nanoTime();for(inti=0;i这是结果:System.currentTimeMillis():averageof12.7836022/functioncallSystem.nanoTime():averageof34.6395674/functioncall为什么运行速度差异这么大?基准系统:Java1.7.0_25Windows864-bitCPU:AMDFX-6100
我怀疑来自不同线程(>15)的调用对性能有负面影响。有没有更好的方法来获取并发应用程序中的系统时间? 最佳答案 如果确实有问题,您可以让后台线程将当前时间存储在volatile中。或者只是少调用它。 关于java-并发调用System.currentTimeMillis()的性能瓶颈,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2531743/