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相关推荐

  1. Java中System.nanoTime()的使用

    ns(nanosecond):表示纳秒,时间单位.一秒的10亿分之一,即等于10的负9次方秒.一般会用作内存读写速度的单位. 1纳秒=0.000001毫秒 1纳秒=0.000000001秒 Java中 ...

  2. 为什么Java会给system报错_java – 为什么将System.nanoTime()转换为Calendar对象会给我错误的当前日期?...

    如果我理解正确,使用System.nanoTime()是一种比System.currentTimeInMillis()更准确地保持当前时间标记的方法,即使系统时间已更改.那么为什么当我将nanoTim ...

  3. nano java_java – System.nanoTime()完全无用?

    那个帖子是错误的,nanoTime是安全的.有一个评论链接到 a blog post by David Holmes,一个实时和并发的家伙在太阳.它说: System.nanoTime() is im ...

  4. java system.nanotime_java - System.nanoTime()完全没用吗?

    java - System.nanoTime()完全没用吗? 如Java博客文章Beware of System.nanoTime()中所述,在x86系统上,Java的System.nanoTime( ...

  5. nanotime java_Java System nanoTime()方法

    Java System nanoTime()方法 java.lang.System.nanoTime() 方法返回最精确的可用系统计时器的当前值,以毫微秒为单位.返回的值表示从一些固定的,任意时间纳秒 ...

  6. java nanotime单位_java – System.nanoTime()的精度与精度

    System.nanoTime()的文件说如下(强调我的). This method can only be used to measure elapsed time and is not relat ...

  7. java system.nanotime_java中的System.nanoTime与System.currentTime

    ns(nanosecond):纳秒, 时间单位.一秒的10亿分之一,即等于10的负9次方秒.常用作 内存读写速度的单位,其前面数字越小则表示速度越快. 1纳秒=1000 皮秒 1纳秒 =0.001   ...

  8. nanotime java_java – 为什么我会使用System.nanoTime()获得消极的时间?

    我试图使用System.nanoTime()的以下代码来测量代码的经过时间. public static void main(String[] args) throws Exception { whi ...

  9. java nanotime 重复_关于Java中System.currentTimeMillis和System.nanoTime的错误认识

    在Java里面,时间戳常用System.currentTimeMillis(),因为它可以方便地与Date/Calendar进行转 换,System.nanoTime到不是怎么常用(至少我没怎么用过) ...

最新文章

  1. 2022-2028年中国餐具行业市场研究及前瞻分析报告
  2. [na]pc加入域认证细节
  3. mysql存放图片的数据表_mysql数据库可以存图片吗?
  4. MySQL中MyISAM 与innoDB的区别(转)
  5. inspinia前端模板怎样编写消息提示框点击确定后的回调方法
  6. Flutter 找不到 android sdk(图文详解)
  7. Python Json存储与读取
  8. 给硬件工程师介绍SAP Cloud for Customer
  9. python中字符串添加r的作用,原始字符串不发生转义
  10. linux内核源码分析plat-form 分析
  11. 机器学习做自动聊天机器人_聊天机器人业务领袖指南
  12. 极客爱情 2.4 | 和程序员男友过节是这样的
  13. 机器人主流编程语言盘点 及优缺点分析
  14. 安徽大学本科毕业论文答辩和论文选题PPT模板
  15. BAT、华为、头条等各大互联网公司职级、薪资、股权大揭秘
  16. Listener refused the connection with the following error
  17. 浅谈zto大数据计算与业务系统的融合
  18. 无效回表谁的锅?存储引擎:这事儿不赖我
  19. Uncaughr SyntaxError:Ivalid or unexpected toke(JS)
  20. 2.1 深度学习常用软件包和环境配置

热门文章

  1. 对可操作对象的占用状态、锁定状态、解锁状态的一些方案
  2. PrincipleCTEbook
  3. LINUX系统管理----GRUB笔记
  4. Android简单调用相机Camera功能,实现打开照相功能
  5. Moved to Google Blogger: hongstudios.blogspot.com
  6. Google Chrome Native Messaging开发实录(一)背景介绍
  7. 个人学习进度条------第八周
  8. p4.pm p4python p4perl p4api 的使用方法
  9. 微信小程序 app.js 操作 页面js方法
  10. WEB前端学习四 js什么是原始类型