System.nanoTime
System.currentTimeMillis()返回的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数。
System.nanoTime()返回的是纳秒,nanoTime而返回的可能是任意时间,甚至可能是负数。
System.currentTimeMillis调用的是native方法,使用的是系统的时间,每个JVM对应的应该是相同的,但因为具体的取值依赖于操作系统的实现,不同JVM间可能会有略微的差异。
System.nanoTime每个JVM维护一份,和系统时间无关,可用于计算时间间隔,比System.currentTimeMillis的精度要高。
修改了系统时间会对System.currentTimeMillis造成影响,而对System.nanoTime没有影响。修改系统时间后会有如下效果:Timmer有影响,Thread.sleep有影响,ScheduledThreadPoolExecutor无影响,可以查看方法的实现调用的是System.currentTimeMillis还是System.nanoTime。
java修改系统时间:
1.windows环境下:
Runtime.getRuntime().exec("cmd /c date 2013-05-06");//Windows 系统
Runtime.getRuntime().exec("cmd /c time 22:35:00");//Windows 系统
2.linux环境下:
Runtime.getRuntime().exec(" sudo date -s 2013-05-06")//linux 系统为tomcat用户分配了权限
Runtime.getRuntime().exec(" sudo date -s 22:25:00")//linux 系统为tomcat用户分配了权限
Linux上获取的时间不正确,总是相差几小时考虑时差的问题,修改/etc/sysconfig/clock。
转载于:https://www.cnblogs.com/lnlvinso/p/5191446.html
System.nanoTime相关推荐
- Java中System.nanoTime()的使用
ns(nanosecond):表示纳秒,时间单位.一秒的10亿分之一,即等于10的负9次方秒.一般会用作内存读写速度的单位. 1纳秒=0.000001毫秒 1纳秒=0.000000001秒 Java中 ...
- 为什么Java会给system报错_java – 为什么将System.nanoTime()转换为Calendar对象会给我错误的当前日期?...
如果我理解正确,使用System.nanoTime()是一种比System.currentTimeInMillis()更准确地保持当前时间标记的方法,即使系统时间已更改.那么为什么当我将nanoTim ...
- nano java_java – System.nanoTime()完全无用?
那个帖子是错误的,nanoTime是安全的.有一个评论链接到 a blog post by David Holmes,一个实时和并发的家伙在太阳.它说: System.nanoTime() is im ...
- java system.nanotime_java - System.nanoTime()完全没用吗?
java - System.nanoTime()完全没用吗? 如Java博客文章Beware of System.nanoTime()中所述,在x86系统上,Java的System.nanoTime( ...
- nanotime java_Java System nanoTime()方法
Java System nanoTime()方法 java.lang.System.nanoTime() 方法返回最精确的可用系统计时器的当前值,以毫微秒为单位.返回的值表示从一些固定的,任意时间纳秒 ...
- java nanotime单位_java – System.nanoTime()的精度与精度
System.nanoTime()的文件说如下(强调我的). This method can only be used to measure elapsed time and is not relat ...
- java system.nanotime_java中的System.nanoTime与System.currentTime
ns(nanosecond):纳秒, 时间单位.一秒的10亿分之一,即等于10的负9次方秒.常用作 内存读写速度的单位,其前面数字越小则表示速度越快. 1纳秒=1000 皮秒 1纳秒 =0.001 ...
- nanotime java_java – 为什么我会使用System.nanoTime()获得消极的时间?
我试图使用System.nanoTime()的以下代码来测量代码的经过时间. public static void main(String[] args) throws Exception { whi ...
- java nanotime 重复_关于Java中System.currentTimeMillis和System.nanoTime的错误认识
在Java里面,时间戳常用System.currentTimeMillis(),因为它可以方便地与Date/Calendar进行转 换,System.nanoTime到不是怎么常用(至少我没怎么用过) ...
最新文章
- 2022-2028年中国餐具行业市场研究及前瞻分析报告
- [na]pc加入域认证细节
- mysql存放图片的数据表_mysql数据库可以存图片吗?
- MySQL中MyISAM 与innoDB的区别(转)
- inspinia前端模板怎样编写消息提示框点击确定后的回调方法
- Flutter 找不到 android sdk(图文详解)
- Python Json存储与读取
- 给硬件工程师介绍SAP Cloud for Customer
- python中字符串添加r的作用,原始字符串不发生转义
- linux内核源码分析plat-form 分析
- 机器学习做自动聊天机器人_聊天机器人业务领袖指南
- 极客爱情 2.4 | 和程序员男友过节是这样的
- 机器人主流编程语言盘点 及优缺点分析
- 安徽大学本科毕业论文答辩和论文选题PPT模板
- BAT、华为、头条等各大互联网公司职级、薪资、股权大揭秘
- Listener refused the connection with the following error
- 浅谈zto大数据计算与业务系统的融合
- 无效回表谁的锅?存储引擎:这事儿不赖我
- Uncaughr SyntaxError:Ivalid or unexpected toke(JS)
- 2.1 深度学习常用软件包和环境配置
热门文章
- 对可操作对象的占用状态、锁定状态、解锁状态的一些方案
- PrincipleCTEbook
- LINUX系统管理----GRUB笔记
- Android简单调用相机Camera功能,实现打开照相功能
- Moved to Google Blogger: hongstudios.blogspot.com
- Google Chrome Native Messaging开发实录(一)背景介绍
- 个人学习进度条------第八周
- p4.pm p4python p4perl p4api 的使用方法
- 微信小程序 app.js 操作 页面js方法
- WEB前端学习四 js什么是原始类型