`

时间戳System.nanoTime()

 
阅读更多
平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快。后来看到Java中产生随机数函数以及线程池中的一些函数使用的都是System.nanoTime,下面说一下这2个方法的具体区别。
System.nanoTime提供相对精确的计时,但是不能用他来计算当前日期.
System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.currentTimeMillis来计算当前日期,星期几等,可以方便的与Date进行转换
分享到:
评论

相关推荐

    android时间戳总结:System.nanoTime(),System.currentTimeMillis(),SystemClock

    System.nanoTime() System.currentTimeMillis() SystemClock.uptimeMillis() SystemClock.elapsedRealtime() SystemClock.currentThreadTimeMillis 0、时间的单位: 秒:second 毫秒:Millisecond 微妙:Microsecond...

    火山安卓取网络时间例程和时间戳例程.rar

    如果需要高精度的时间戳,可以使用`System.nanoTime()`,但请注意它并不直接代表时间,而是微秒级别的系统计时器值,需要适当转换。 3. **示例代码**: - NTP客户端实现: ```java public class NtpClient { ...

    Java中获取比毫秒更精确的时间.docx

    为了解决 `System.currentTimeMillis()` 的局限性,Java 提供了 `System.nanoTime()` 方法来获取比毫秒更精确的时间。该方法返回自某个固定点以来的纳秒数,通常用于测量时间差,而不是绝对时间。需要注意的是,虽然...

    用java编写的计时器

    根据提供的代码片段,我们可以看到三种不同的计时器实现方法:使用`java.util.Date`、`System.currentTimeMillis()`以及`System.nanoTime()`。下面将分别介绍这三种方法的特点和应用场景。 #### 三、使用`java.util...

    momomo.com.platform.Nanotime:从Java Runtime要求时间时允许更高的精度。 即纳秒精度

    在Java中,`System.currentTimeMillis()`返回的是自1970年1月1日00:00:00 GMT以来的毫秒数,而`nanoTime()`方法虽然返回的是自某个不确定的起点以来的纳秒数,但这个值并不适合直接用来计算时间差,因为它并不与`...

    miaobiao.rar_java 秒表

    在Java中,我们可以使用内置的`System.currentTimeMillis()`或`System.nanoTime()`方法来创建一个简单的秒表功能。本项目名为“miaobiao.rar”,提供了一个用于学习的Java秒表程序,该程序不仅实现了基本的计时功能...

    nanotime:返回当前纳米时间。 用于制作 id

    在JavaScript中,虽然内置的Date对象可以提供毫秒级别的精度,但当需要更高精度的时间戳时,就需要借助如"nanotime"这样的解决方案。 JavaScript是一门广泛应用于Web开发的脚本语言,它提供了丰富的API来处理时间和...

    Stopwatch

    然而,对于简单的计时操作,我们通常不需要这么复杂的结构,因此 `System.nanoTime()` 或 `System.currentTimeMillis()` 函数更为常用。 ### 二、使用 `System.nanoTime()` 实现 Stopwatch 由于 Kotlin 标准库中并...

    跑表

    Java 5及更高版本引入了`java.util.concurrent.TimeUnit`和`java.lang.System.nanoTime()`,使得精确的计时变得简单。下面我们将深入探讨如何在Java中实现跑表功能以及它的重要性。 首先,让我们了解一下`System....

    Java简单计时的实现案例(可以用来限时循环)

    在Java中,我们可以使用`System.currentTimeMillis()`来获取当前系统的毫秒时间戳,以此来计算程序运行的时间差。以下是一个简单的例子: ```java long startTime = System.currentTimeMillis(); // 程序运行过程 /...

    毫秒级倒计时+listview

    在Java或Android中,我们可以使用`System.currentTimeMillis()`或者`System.nanoTime()`来获取当前时间戳,但这两个方法并不能直接提供毫秒级的精确度。为达到毫秒级倒计时,我们需要结合`System.nanoTime()`和`...

    创建基于时间的 UUID

    long startNanos = System.nanoTime(); CountDownLatch endLatch = new CountDownLatch(threadCount); for (int i = 0; i ; i++) { long threadId = i; new Thread(() -> { for (int j = 0; j ; j++) { UUID ...

    java.lang.System类.pdf

    - `nanoTime()`返回更高精度的系统计时器值,以毫微秒为单位,适用于性能测试和精确时间间隔计算。 4. **系统属性和环境变量**: - `getProperties()`返回一个`Properties`对象,包含了系统的各种属性,如Java...

    Android测试刷新率源代码

    long lastTimestamp = System.nanoTime(); int frameCount = 0; while (running) { long currentTime = System.nanoTime(); float delta = (currentTime - lastTimestamp) / 1e9f; lastTimestamp = currentTime;...

    java版屏幕录象代码

    Java的`System.nanoTime()`或`System.currentTimeMillis()`可用于获取时间戳。 4. 文件写入:编码后的视频数据需要写入文件。Java的`FileOutputStream`和`BufferedOutputStream`类可用于创建和管理输出文件,而第三...

    测试程序运行效率

    对于更高精度的需求,可以考虑使用 `System.nanoTime()`,它提供了纳秒级的时间戳,但需要注意的是,这种时间戳并不表示绝对时间,仅适用于测量相对时间间隔。 #### 5. **性能测试策略** 除了直接测量代码段的执行...

    Java实现的耗时统计类-可用于测试程序耗时

    1. **开始计时**: 在执行关键操作前,通过调用一个方法(如`start()`)来记录当前时间,这通常是通过`System.nanoTime()`获取高精度的时间戳。 2. **结束计时**: 当操作完成后,调用另一个方法(如`stop()`)来记录...

    秒表时钟计时器的设计(Timer).pdf

    为了达到更高的精度,还可以考虑使用纳秒或微秒级别的API,如Java的`System.nanoTime()`。 接下来,要考虑如何处理计时器的启动、暂停和恢复。在启动时,计时器需要记录当前时间作为起点;当用户暂停时,应保存当前...

    Android 平台水波效果.zip源码资源下载

    通过`System.currentTimeMillis()`或`System.nanoTime()`获取当前时间,并与上次绘制的时间间隔进行比较,来计算出帧率。 4. **触摸事件处理**:为了让用户能够交互式地触动水面,我们需要在自定义View中添加`...

    安卓游戏自由落体运动

    1. 时间间隔处理:游戏循环通过计算每帧之间的时间差来模拟真实的物理运动,如使用`System.nanoTime()`获取微秒级时间戳。 2. 物体移动:根据重力加速度和时间差更新物体的位置,计算下一个位置坐标。 3. 障碍物生成...

Global site tag (gtag.js) - Google Analytics