Java System nanoTime() 方法



描述

Java System nanoTime() 方法返回系统最精确计时器的当前值(以纳秒为单位)。返回的值表示自某个固定但任意的时刻(未来某个时刻,因此值可能为负数)以来的纳秒数,并提供纳秒精度,但不一定具有纳秒准确性。

声明

以下是java.lang.System.nanoTime() 方法的声明

public static long nanoTime()

参数

返回值

此方法返回系统计时器的当前值(以纳秒为单位)。

异常

示例:获取当前时间(纳秒)

以下示例演示了 Java System nanoTime() 方法的使用。在此示例中,我们使用 System.nanoTime() 方法打印当前时间(纳秒)。

package com.tutorialspoint;

public class SystemDemo {

   public static void main(String[] args) {

      // returns the current time in nanoseconds
      System.out.print("Current Time in nanoseconds = ");
      System.out.println(System.nanoTime());
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Current Time in nanoseconds = 105909690470100

示例:使用当前时间(纳秒)检查代码的执行时间

以下示例演示了 Java System currentTimeMillis() 方法的使用。在此示例中,我们通过获取以毫秒为单位的当前时间来记录代码片段的开始时间,然后在 for 循环语句中执行代码。循环完成后,我们再次通过获取以毫秒为单位的当前时间来记录结束时间。

package com.tutorialspoint;

public class SystemDemo {

   public static void main(String[] args){

      // start time of the code snippet
      long startTime = System.nanoTime();

      int sum = 0;
      // a time consuming task
      for (int i = 0; i < 10; i++) {
         sum += i;
      }
      // end time of the code snippet
      long endTime = System.nanoTime();

      System.out.println("Program took " +
         (endTime - startTime) + "nanoseconds") ;
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Program took 800 nanoseconds
java_lang_system.htm
广告