- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在游戏循环中,每个人都使用 System.nanoTime()
但对于动画、速度等,有些人使用 System.currentTimeMillis()
有些使用 System.nanoTime()
。我应该使用哪一个?
最佳答案
currentTimeMillis()
实际上是一个挂钟。它的调用成本非常低,但通常(这可能取决于 JVM 实现和硬件)不提供毫秒粒度,并且容易受到漂移的影响。由于CPU核心电压。
nanoTime()
是一个精确的时钟,应用于测量耗时。调用的成本会更高,但只要您每秒不执行数百次,从大局来看就没有什么关系。
使用适合您目的的选项。您可以在Inside the Hotspot VM: Clocks, Timers and Scheduling Events - Part I - Windows中阅读更多相关信息。总结如下:
If you are interested in measuring absolute time then always use System.currentTimeMillis(). Be aware that its resolution may be quite coarse (though this is rarely an issue for absolute times.)
If you are interested in measuring/calculating elapsed time, then always use System.nanoTime(). On most systems it will give a resolution on the order of microseconds. Be aware though, this call can also take microseconds to execute on some platforms.
关于java - 是 System.nanoTime();或 System.currentTimeMillis();更适合一场比赛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49931109/
我正在用 Java 开发一个简单的 2D 游戏,一切正常。为了找到正确的 FPS 刷新/重绘/更新,我使用 currentTimeMillis 来查找差异。 问题是currentTimeMillis有
这只是我目前正在工作的一部分,我想使用 currentTimeMillis() 打印要加载图像的时间,有什么原因导致它不起作用? package method; import java.io.Prin
在我的应用程序中,我需要解析一个包含事件结束时间的 JSON。当此事件正在进行时,我需要计算完成该事件所需的时间。为此,我使用了这段代码: // I get the time and convert
我正在尝试使用 System.currentTimeMillis() 将毫秒转换为秒; System.out.println((int) System.currentTimeMillis() / 10
我正在使用 TestNG 编写单元测试。问题是当我模拟 System.currentTimeMillis 时,它返回实际值而不是模拟值。理想情况下,它应该返回 0L ,但它返回实际值。我应该怎么做才能
我正在尝试使用以下方法计算从现在起 100 天的时间: import java.util.Date; public class Main { public static void main(S
我们有一个主进程写入日志的情况。 然后,它产生多个写入其自己的日志的工作进程。 (我希望工作人员可以通过管理员进行登录,但是由于某种原因,对此想法产生了抵制。) 我想知道的是,我是否可以相信以多个文件
是否实现了方法System.currentTimeMillis()来对底层操作系统进行系统调用以接收当前时间? 我这么问是因为据我所知,该方法运行得相当快,只需要 6 个 CPU 时钟,但这没有意义,
因此,在我的 java 类(class)中,我们有一个作业,要求使用 System.currentTimeMillis 来显示单击之间的时间量。我已经尝试过了,但它不起作用。这是我的代码。 1 /*
我们正在使用一个 Web 服务,该服务通常需要 30-40 毫秒的时间。在该 Web 服务内,我们调用 System.currentTimeMills 38 次,以计算该服务内各种方法所花费的时间。
我正在尝试在名为 Point 的对象类上运行此测试(以提高计算速度),其中包含一些方法。它在其构造函数中接受三个输入/变量Point(String, double, double)。 我有这个想法,但
我想使用 System.currentTimeMillis() 比较两个不同的时间戳。 基本上我想检查时间戳是否在特定日期的 3 小时范围内。 如何做到这一点? 最佳答案 考虑到您有time1和tim
我正在创建一个文本文件,其中的时间戳源自 System.currentTimeMillis() 的结果。我的算法是这样的: 创建文件并记录创建时间戳 每次按下按钮时保存时间戳 从按钮按下时间戳中减去文
public class Clock { int second; int minute; int hour; boolean checkTime = true;
我需要获取 Java 中函数的执行时间。我知道可以使用两种方法:currentTimeMillis(); 和 nanoTime(); 但我了解到,如果我需要挂钟时间,currentTimeMillis
任何人都可以帮忙解释为什么它不打印时间吗? 当我尝试加载图像时?例如使用 java eclipse..currenttimemillis() 加载图像需要多长时间 我想提前向您表示衷心的感谢
出于某种原因,我得到了函数返回的一致 3600: private static long getCountdownLeft() { long now = System.currentTimeM
我需要秒表,我使用了 http://www.goldb.org/stopwatchjava.html 效果不佳,所以我尝试每 1000 毫秒写出一个值: stopWatch.start(); Hand
我正在尝试将当前时间保存到共享首选项中,但由于某种原因,当前时间在 47486 的遥远 future 年份中的数量太可笑了。 我已经检查了设备本身的日期设置,那里的日期是正确的,我在任何地方都找不到这
我的数据库中有 50000 条这样的 XML 记录: 11ca7070ad6eb3180c53281e7b597976 2011 8 6 19 26 40 utf-8 如您所见,我以分隔格式
我是一名优秀的程序员,十分优秀!