System.currentTimeMillis() uptimeMillis elapsedRealtime 区别
System.currentTimeMillis() 系统时间,也就是日期时间,可以被系统设置修改,然后值就会发生跳变。
uptimeMillis 自开机后,经过的时间,不包括深度睡眠的时间
elapsedRealtime自开机后,经过的时间,包括深度睡眠的时间
所以System.currentTimeMillis()不适合计算时间间隔,eg,
now = System.currentTimeMillis()
//do something...
duration = System.currentTimeMillis() -now;
如果在do something的时候,改变了系统时间,那么 获取duration就不准了。通常在比较小的时间里,(毫秒级,秒级)一般不会有什么问题,系统时间可能不会改变。但是如果时间很长的话,那就保证不了了
uptimeMillis由于不计算睡眠时间,所以非常适合做一些特殊的时间间隔计算
elapsedRealtime 包括睡眠时间,适用于任何情况下的时间间隔计算
深度睡眠前全部的办公都可以接着,不必从新敞开手续。进入了睡乡后,电脑将只有内存通电,用以保留办公状况的数值,而其它硬件则所有断电,因为这个耗电量十分低。
参考:http://zhidao.baidu.com/link?url=sO3npfaq2eTUXl551mZl-fR-C_iM59cDf3Z8-DFzybrJcHG9h1mty5kZ6RAvNXTaQMWp5f8ZLSG4cYKqJekLZboz8zMLuxKRjogGvLb9mLq
转自:http://blog.csdn.net/wutianyin222/article/details/8853958
System.currentTimeMillis() uptimeMillis elapsedRealtime 区别的更多相关文章
- System.currentTimeMillis()与SystemClock.uptimeMillis()
1.System.currentTimeMillis()获取的是系统的时间,可以使用SystemClock.setCurrentTimeMillis(long millis)进行设置.如果使用Syst ...
- System.nanoTime与System.currentTimeMillis的理解与区别
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 平时产生随机数时我们经常拿时间做种子,比如用System.currentTimeMillis的结果 ...
- System.nanoTime与System.currentTimeMillis的区别
平时产生随机数时我们经常拿时间做种子,比如用 System.currentTimeMillis的结果,但是在执行一些循环中使用了System.currentTimeMillis,那么每次的结 果将会差 ...
- System.nanoTime与System.currentTimeMillis的区别(转)
原文地址:http://blog.csdn.net/dliyuedong/article/details/8806868 平时产生随机数时我们经常拿时间做种子,比如用System.currentTim ...
- new Date().getTime()和System.currentTimeMillis()的区别
在Java中,new Date().getTime()和System.currentTimeMillis()都是用来获取当前时间的,并可以用DateFormat转成对应的时间格式,代码如下. impo ...
- 系统当前时间system.currenttimemillis与new Date().getTime() 区别
system.currenttimemillis //取到毫秒数,并且执行效率高 new Date().getTime()没他精确
- 我的Java开发学习之旅------>System.nanoTime与System.currentTimeMillis的区别
首先来看一道题:下面代码的输出结果是什么? import java.util.HashMap; import java.util.Map; public class HashMapTest { pub ...
- Java中使用new Date()和System.currentTimeMillis()获取当前时间戳的区别(转)(Java进阶-性能提升)
在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的 ...
- calendar.getTimeInMillis() 和 System.currentTimeMillis() 的区别
@Test public void test01(){ Calendar calendar=Calendar.getInstance(); // calendar.set(2019,06,04,16, ...
随机推荐
- git操作之冲突解决
应用场景,任哥,我两个人共同修改了git项目上的一个文件.zsh命令行模式 准备工作 简写命令解释 gl=git pullgp=git pushgst=git statusgcmsg=git comm ...
- zabbix通过简单命令监控elasticsearch集群状态
简单命令监控elasticsearch集群状态 原理: 使用curl命令模拟访问任意一个es节点可以反馈的集群状态,集群的状态需要为green curl -sXGET http://serverip: ...
- sqlserver数据库系统性能监控步骤
1.部署好环境JDK+tomcat+数据库 ①修改数据库连接账号密码db.properties ②修改applicationContext.xml文件,开启任务 <bean id="o ...
- ocos2d-x 3.0坐标系详解--透彻篇 ---- convertToWorldSpace:把基于当前节点的本地坐标系下的坐标转换到世界坐标系中。
convertToWorldSpace:把基于当前节点的本地坐标系下的坐标转换到世界坐标系中.重点说明:基于... 不一定要是真实的, convertToWorldSpace 的结果也只是一个新 ...
- [学习笔记]Javascript的包装对象
例子1: var s="test"; s.len = 4; var t = s.len // t is undefined 原因是s是字符串,第二行代码,实际上是创建一个临时字符串 ...
- ios 获取视频截图
#pragma mark -- 获取视频截图- (UIImage *)getThumbnailImage:(NSString *)videoURL{ AVURLAsset *asset = [ ...
- 返回表达式列表中最小值least(exp1,exp2,exp3,……,expn)
least(exp1,exp2,exp3,--,expn) [功能]返回表达式列表中值最小的一个.如果表达式类型不同,会隐含转换为第一个表达式类型. [参数]exp1--n,各类型表达式 [返回]ex ...
- HTTP常见响应状态码
200 : (OK) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 : (Created) 请求成功并且服务器创建了新的资源. 301 : (Moved Permanentl ...
- 《LINQ技术详解C#》-4.LINQ到对象
public static string[] Presidents { get; } = { "Adams", "Arthur", "Buchanan ...
- 在.NET环境下使用KAFKA
近日基于项目的解耦与削峰需求,决定在项目中引入消息队列.因为同时项目部分业务已经迁移到Java上,所以消息队列组件又要兼顾Java环境下的使用,选来选去对比了RabbitMQ.RocketMQ和Kaf ...