zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    团队介绍的词频统计
    对软件工程这门课的理解与自我期望
    第九次作业-用户使用手册及测试报告
    第8八次作业——系统设计和任务分配
    基于 Java Web 的毕业设计选题管理平台--选题报告与需求规格说明书
    结对作业之需求分析与原型设计
    博客与GitHub地址
    Python库
    课程理解
    大数据作业
  • 原文地址:https://www.cnblogs.com/lnlvinso/p/5191446.html
Copyright © 2011-2022 走看看