Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序来计算方法的执行时间

Java 实例大全

在此示例中,我们将学习计算Java中常规方法和递归方法的执行时间。

要理解此示例,您应该了解以下Java编程主题:

示例1:Java程序来计算方法的执行时间

class Main {

  //创建一个方法
  public void display() {
    System.out.println("计算方法执行时间:");
  }

  // main 方法
  public static void main(String[] args) {

    //创建Main类的对象
    Main obj = new Main();

    //获取开始时间
    long start = System.nanoTime();

    // 调用方法
    obj.display();

    //获取结束时间
    long end = System.nanoTime();

    //执行时间
    long execution = end - start;
    System.out.println("执行时间: " + execution + " 纳秒");
  }
}

输出结果

计算方法执行时间:
执行时间: 656100 纳秒

在上面的示例中,我们创建了一个名为display()的方法。该方法将一条语句输出到指定台。程序将计算display()方法的执行时间。

在这里,我们使用了System类的nanoTime()方法。该nanoTime()方法以纳秒为单位返回正在运行的JVM的当前值。

示例2:计算递归方法的执行时间

class Main {

  //创建一个递归方法
  public int factorial( int n ) {
    if (n != 0)  //终止条件
        return n * factorial(n-1); //递归调用
    else
        return 1;
}

  // main 方法
  public static void main(String[] args) {

    //创建Main类的对象
    Main obj = new Main();

    //获取开始时间
    long start = System.nanoTime();

    //调用方法
    obj.factorial(128);

    //获取结束时间
    long end = System.nanoTime();

    //执行时间(秒)
    long execution = (end - start);
    System.out.println("递归方法的执行时间为");
    System.out.println(execution + " 纳秒");
  }
}

输出结果

递归方法的执行时间为
18600 纳秒

在上面的示例中,我们正在计算名为factorial()的递归方法的执行时间。

Java 实例大全