In dit voorbeeld zullen we leren om de uitvoeringstijd van normale methoden en recursieve methoden in Java te berekenen.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-methoden
- Java-recursie
Voorbeeld 1: Java-programma om de uitvoeringstijd van de methode te berekenen
class Main ( // create a method public void display() ( System.out.println("Calculating Method execution time:"); ) // main method public static void main(String() args) ( // create an object of the Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.display(); // get the end time long end = System.nanoTime(); // execution time long execution = end - start; System.out.println("Execution time: " + execution + " nanoseconds"); ) )
Uitvoer
De uitvoeringstijd van de methode berekenen: Uitvoeringstijd: 656100 nanoseconden
In het bovenstaande voorbeeld hebben we een methode gemaakt met de naam display()
. De methode drukt een instructie af naar de console. Het programma berekent de uitvoeringstijd van de methode display()
.
Hier hebben we de methode nanoTime()
van de System
klas gebruikt. De nanoTime()
methode retourneert de huidige waarde van de actieve JVM in nanoseconden.
Voorbeeld 2: Bereken de uitvoeringstijd van de recursieve methode
class Main ( // create a recursive method public int factorial( int n ) ( if (n != 0) // termination condition return n * factorial(n-1); // recursive call else return 1; ) // main method public static void main(String() args) ( // create object of Main class Main obj = new Main(); // get the start time long start = System.nanoTime(); // call the method obj.factorial(128); // get the end time long end = System.nanoTime(); // execution time in seconds long execution = (end - start); System.out.println("Execution time of Recursive Method is"); System.out.println(execution + " nanoseconds"); ) )
Uitvoer
De uitvoeringstijd van de recursieve methode is 18600 nanoseconden
In het bovenstaande voorbeeld berekenen we de uitvoeringstijd van de recursieve methode met de naam factorial()
.