System.currentTimeMillis() 和 System.nanoTime() 哪个更快?大部分人都会答错
来源:http://www.tudoupe.com时间:2022-07-01
在Java中获取时间邮票有两种方法:System.CurrentTimeMillis()和System.nanoTime(),他们使用场景是不同的,目前,在互联网上关于两种方法的性能的文章讨论了一些部分描述,本文希望给出一个简单的最后答案.
当前TimeMillis()有性能问题吗?
两种方法的性能差异取决于操作系统。
Windows:
在Windows下,System.Current TimeMillis() vs. System.NanoTime将会更快,这是因为Windows系统只为前者提供一个缓存变量,后者是一个实时的硬件下到上计算。
因此,如果您的生产环境是Windows,请尽量避免使用系统。
Linux:
在Linux中,执行时间间的差异很小,无论是单线程还是多个线程。
不同的虚拟机实现会导致性能差异
如今,云主机主要有两个实现:Xen和KVM,还有在线文章显示系统花费时间的性能差异。
当您的虚拟机使用Xen时,它需要比KVM多十倍的时间。
你需要写一个特别类来升级系统。 目前TimeMillis()的性能是 吗?
没必要,那是画蛇的。
我的测试代码
我的测试代码如下,没有依赖,可以直接编译和运行。 感兴趣的读者可以尝试:
因为我使用Windows,我在输出中执行系统。 NanoTime()显然很慢。
我不发布具体的输出内容,因为它们没有参考价值,而且大多数生产环境使用Linux。
作者:捏造的信仰
来源: https://segmentfault.com/a/1190041276485
相关新闻
- 2022-08-04 WPF的由来
- 2022-08-04 Win11勒索软件防护怎么打开?Win11安
- 2022-08-04 Windows系统jdk的配置
- 2022-08-04 Windows10 OneNote怎么重新登录?如何重
- 2022-08-04 超好用的 Windows 效率工具推荐
- 2022-08-04 Windows如何在CMD或PowerShell中配置代理
- 2022-08-04 powershell和cmd对比
- 2022-08-04 【QT】Windows下QT下载安装
- 2022-08-04 windows下 C++ 实现类属性的get和set方
- 2022-08-04 Win11快速助手在哪里?Win11打开快速
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
