English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Introduzione di Base Java

Java Controllo dei flussi

Java Array

Java Orientamento agli oggetti (I)

Java Orientamento agli oggetti (II)

Java Orientamento agli oggetti (III)

Gestione delle Eccezioni Java

Java List

Java Queue (coda)

Java Map Collection

Java Set Collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Programma Java per calcolare il tempo di esecuzione di un metodo

Completo di esempi Java

In questo esempio, impareremo a calcolare il tempo di esecuzione di metodi normali e ricorsivi in Java.

Per comprendere questo esempio, dovresti conoscere quanto segueProgrammazione JavaArgomento:

Esempio 1: programma Java per calcolare il tempo di esecuzione di un metodo

class Main {
  // creare un metodo
  public void display() {
    System.out.println("Calcolare il tempo di esecuzione del metodo:");
  }
  //Metodo main
  public static void main(String[] args) {
    //Creare un oggetto della classe Main
    Main obj = new Main();
    //Ottieni l'ora di inizio
    long start = System.nanoTime();
    // chiamata al metodo
    obj.display();
    //Ottieni l'ora di fine
    long end = System.nanoTime();
    // tempo di esecuzione
    long execution = end - start;
    System.out.println("Tempo di esecuzione: " + execution + " nanosecondi");
  }
}

Risultato di output

Calcolare il tempo di esecuzione del metodo:
Tempo di esecuzione: 656100 nanosecondi

Nell'esempio precedente, abbiamo creato un metodo chiamato display(). Questo metodo esegue un'istruzione di output su una console specifica. Il programma calcola il tempo di esecuzione del metodo display().

In questo caso, abbiamo utilizzato il metodo nanoTime() della classe System. Il metodo nanoTime() restituisce il valore corrente del JVM in nanosecondi.

Esempio 2: calcolare il tempo di esecuzione di un metodo ricorsivo

class Main {
  // creare un metodo ricorsivo
  public int factorial(int n) {
    if (n != 0) // condizione di terminazione
        return n * factorial(n - 1); // ricorsiva chiamata
    else
        return 1;
}
  //Metodo main
  public static void main(String[] args) {
    //Creare un oggetto della classe Main
    Main obj = new Main();
    //Ottieni l'ora di inizio
    long start = System.nanoTime();
    //Chiamare il metodo
    obj.factorial(128);
    //Ottieni l'ora di fine
    long end = System.nanoTime();
    //Tempo di esecuzione (secondi)
    long execution = (end - start);
    System.out.println("Il tempo di esecuzione del metodo ricorsivo è");
    System.out.println(execution + " nanosecondi");
  }
}

Risultato di output

Il tempo di esecuzione del metodo ricorsivo è
18600 nanosecondi

Nell'esempio sopra, stiamo calcolando il tempo di esecuzione della metodo ricorsivo chiamato factorial().

Completo di esempi Java