Java 菜鳥(niǎo)教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java程序來(lái)計(jì)算方法的執(zhí)行時(shí)間

Java 實(shí)例大全

在此示例中,我們將學(xué)習(xí)計(jì)算Java中常規(guī)方法和遞歸方法的執(zhí)行時(shí)間。

要理解此示例,您應(yīng)該了解以下Java編程主題:

示例1:Java程序來(lái)計(jì)算方法的執(zhí)行時(shí)間

class Main {

  //創(chuàng)建一個(gè)方法
  public void display() {
    System.out.println("計(jì)算方法執(zhí)行時(shí)間:");
  }

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

    //創(chuàng)建Main類的對(duì)象
    Main obj = new Main();

    //獲取開(kāi)始時(shí)間
    long start = System.nanoTime();

    // 調(diào)用方法
    obj.display();

    //獲取結(jié)束時(shí)間
    long end = System.nanoTime();

    //執(zhí)行時(shí)間
    long execution = end - start;
    System.out.println("執(zhí)行時(shí)間: " + execution + " 納秒");
  }
}

輸出結(jié)果

計(jì)算方法執(zhí)行時(shí)間:
執(zhí)行時(shí)間: 656100 納秒

在上面的示例中,我們創(chuàng)建了一個(gè)名為display()的方法。該方法將一條語(yǔ)句輸出到指定臺(tái)。程序?qū)⒂?jì)算display()方法的執(zhí)行時(shí)間。

在這里,我們使用了System類的nanoTime()方法。該nanoTime()方法以納秒為單位返回正在運(yùn)行的JVM的當(dāng)前值。

示例2:計(jì)算遞歸方法的執(zhí)行時(shí)間

class Main {

  //創(chuàng)建一個(gè)遞歸方法
  public int factorial( int n ) {
    if (n != 0)  //終止條件
        return n * factorial(n-1); //遞歸調(diào)用
    else
        return 1;
}

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

    //創(chuàng)建Main類的對(duì)象
    Main obj = new Main();

    //獲取開(kāi)始時(shí)間
    long start = System.nanoTime();

    //調(diào)用方法
    obj.factorial(128);

    //獲取結(jié)束時(shí)間
    long end = System.nanoTime();

    //執(zhí)行時(shí)間(秒)
    long execution = (end - start);
    System.out.println("遞歸方法的執(zhí)行時(shí)間為");
    System.out.println(execution + " 納秒");
  }
}

輸出結(jié)果

遞歸方法的執(zhí)行時(shí)間為
18600 納秒

在上面的示例中,我們正在計(jì)算名為factorial()的遞歸方法的執(zhí)行時(shí)間。

Java 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清