Selles näites õpime arvutama Java-s tavapäraste meetodite ja rekursiivsete meetodite täitmisaega.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java meetodid
- Java rekursioon
Näide 1: Java-programm meetodi täitmisaja arvutamiseks
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"); ) )
Väljund
Meetodi täitmise aja arvutamine: täitmise aeg: 656100 nanosekundit
Ülaltoodud näites oleme loonud meetodi nimega display()
. Meetod prindib konsooli avalduse. Programm arvutab meetodi täitmisaja display()
.
Siin oleme kasutanud meetodit nanoTime()
on System
klassi. nanoTime()
Meetod tagastab praeguse väärtuse töötab JVM nanosekunditega.
Näide 2: arvutage rekursiivse meetodi täitmisaeg
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"); ) )
Väljund
Rekursiivse meetodi täitmisaeg on 18600 nanosekundit
Ülaltoodud näites arvutame rekursiivse meetodi nimelise täitmisaja factorial()
.