`

System.currentTimeMillis() uptimeMillis elapsedRealtime 区别

阅读更多
转自http://blog.csdn.net/wutianyin222/article/details/8853958

System.currentTimeMillis()  系统时间,也就是日期时间,可以被系统设置修改,然后值就会发生跳变。

uptimeMillis 自开机后,经过的时间,不包括深度睡眠的时间

elapsedRealtime自开机后,经过的时间,包括深度睡眠的时间


所以System.currentTimeMillis()不适合计算时间间隔,eg,

now = System.currentTimeMillis()

//do something...

duration = System.currentTimeMillis() -now;


如果在do something的时候,改变了系统时间,那么 获取duration就不准了。通常在比较小的时间里,(毫秒级,秒级)一般不会有什么问题,系统时间可能不会改变。但是如果时间很长的话,那就保证不了了


uptimeMillis由于不计算睡眠时间,所以非常适合做一些特殊的时间间隔计算

elapsedRealtime 包括睡眠时间,适用于任何情况下的时间间隔计算
分享到:
评论

相关推荐

    高并发场景下 System.currentTimeMillis() 的性能问题

    在高并发场景下,System.currentTimeMillis() 的性能问题是一个值得深入探讨的话题。在Java编程中,System.currentTimeMillis() 是一个常用的方法,用于获取当前时间戳,即自1970年1月1日(UTC/GMT的午夜)以来的...

    System.currentTimeMillis()显示大写字母

    long haomiao = System.currentTimeMillis(); int b = (int)((haomiao/1000)%26+65); char daxiezimu = (char)b; System.out.println(haomiao); System.out.println(daxiezimu); } }

    System.currentTimeMillis()计算方式与时间的单位转换详解

    在Java编程中,`System.currentTimeMillis()` 是一个非常重要的方法,用于获取系统当前的日期和时间。这个方法返回的是从1970年1月1日(UTC/GMT的午夜)开始到现在的毫秒数。这是一个长期通用的标准,用于表示时间的...

    Java获取当前系统事件System.currentTimeMillis()方法

    在Java编程语言中,`System.currentTimeMillis()` 是一个非常基础且重要的方法,用于获取当前系统时间。这个方法返回从1970年1月1日0时0分0秒(协调世界时间,UTC)到现在的总毫秒数。这是一个非常常用的函数,尤其...

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

    SystemClock.elapsedRealtime() SystemClock.currentThreadTimeMillis 0、时间的单位: 秒:second 毫秒:Millisecond 微妙:Microsecond 纳秒:nanosecond 1秒 = 1000毫秒;1毫秒=1000微秒, 1微

    System.currentTimeMillis() 和 System.nanoTime() 哪个更快?大

    互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...

    android中几种for循环的效率

    long timenow = System.currentTimeMillis(); for (String str : strs) { count++; } return System.currentTimeMillis() - timenow; } 2.比较慢 private long getTime2() { long time = 0; int...

    不敢相信?System.currentTimeMillis() 居然存在性能问题.docx

    图文并茂吃透面试题,看完这个,吊打面试官,拿高薪offer!

    单元测试中PowerMock常用方法.

    例如,你可以模拟`System.currentTimeMillis()`来返回预设的时间值,以便控制测试环境中的时间变化。 2. **构造函数模拟** 对于那些内部依赖于私有或受保护构造函数的类,PowerMock可以创建新的实例,而无需实际...

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

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

    通过Java代码技巧改善性能

    long start = System.currentTimeMillis(); int a = 0; for(int i=0;i;i++){ try { a++; }catch (Exception e){ e.printStackTrace(); } } long useTime = System.currentTimeMillis()-start; System.out...

    GBK 汉字基本库 笔画 笔顺

    long lasttick = System.currentTimeMillis(); GB2312Helper gb2312Helper = GB2312Helper.singleton(); String info1 = "测试汉字拼音和五笔"; CharacterRecord recs1[] = gb2312Helper.getRecords(info1);...

    java io读取文件到String

    long beginTime = System.currentTimeMillis(); InputStream is = null; String ret = null; try { is = new BufferedInputStream( new FileInputStream(f) ); long contentLength = f.length(); ...

    Java Date Time 教程-时间测量.docx

    `System.currentTimeMillis()`函数是Java提供的一个基础时间测量工具,它返回自1970年1月1日午夜(UTC)以来的毫秒数。然而,这个方法并不提供微秒级别的精度,因此在连续多次调用之间可能会存在不精确性。为了获得...

    一个基于 Kotlin Compiler Plugin 实现的迷你方法耗时无侵入编译插件

    val start = System.currentTimeMillis() //logic val end = System.currentTimeMillis() val time = end - start println("[MTC] cost time:$time") } 本地调试模式下运行可以执行以下命令: ./gradlew :...

    java performance11

    long start = System.currentTimeMillis(); fcin.transferTo(0, fileLength, fcout); fin1.close(); fout1.close(); long end = System.currentTimeMillis(); long time1 = end - start; System.out.println("NIO_...

    Java中System类.pdf

    Java中System类还提供了许多其他的方法和变量,例如,System.currentTimeMillis()方法可以获取当前时间的毫秒数,System.getProperty()方法可以获取系统的属性信息,等等。 在编程中,System类非常重要,很多应用...

    java获取当前时间戳的方法.doc.docx

    这是最常见的时间戳获取方式,直接调用`System.currentTimeMillis()`即可得到当前时间距1970年1月1日00:00:00 UTC的毫秒数。这种方法简单且高效,通常情况下执行速度较快。 2. **方法二:Calendar.getInstance()....

    java 记录程序执行的时间

    首先,我们可以使用`System.currentTimeMillis()`方法来获取当前时间(单位为毫秒)作为基准点,然后在程序执行完毕后再获取一次时间,通过两者之差即可计算出程序的运行时间。例如: ```java long startTime = ...

    Java计算程序代码执行时间的方法小结

    Java 计算程序代码执行时间的方法可以使用 System.currentTimeMillis() 方法和 System.nanoTime() 方法来记录程序的开始和结束时间,从而计算出程序的执行时间。这些方法对于排查性能问题、优化代码执行效率和 debug...

Global site tag (gtag.js) - Google Analytics