Die Ermittlung der momentanen Systemzeit ermöglicht es, Zeitmesssungen durchzuführen.
Im Beispiel-Quelltext wird vor Beginn eines Schleifendurchlaufes von 0 - 1.000.000 die momentane Systemzeit in der Variablen timeStart gespeichert. Dies geschieht durch die Methode System.currentTimeMillis().
package grundlagen;
public class TempoClass {
public static void main(String[] args) {
final long timeStart = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
// nichts machen
}
final long timeEnd = System.currentTimeMillis();
System.out.println("Verlaufszeit der Schleife: " + (timeEnd - timeStart) + " Millisek.");
}
}
Nach Durchlauf der Schleife wird der momentane Zeitpunkt wiederum in einer Variablen timeEnd auf gleiche Art gespeichert.
Die Differenz beider Werte gibt die Zeit in Millisekunden für den Schleifendurchlauf als long aus.
Ab der JDK-Version 1.5 stellt die Klasse System die Methode nanoTime() bereit, die die Systemzeit
in Nanosekunden vom genauesten zur Verfügung stehenden System-Zeitgeber zurück gibt. Dieser ermittelt die
Zeit jedoch nicht unbedingt mit Bezug auf den 1.1.1970 00:00 Uhr, wie dies System.currentTimeMillis() tut.
package grundlagen;
public class TempoClass2 {
public static void main(String[] args) {
final long timeStart = System.nanoTime();
for (int i = 0; i < 1000000; i++) {
// nichts machen
}
final long timeEnd = System.nanoTime();
System.out.println("Verlaufszeit der Schleife: " + (timeEnd - timeStart) + " Nanosek.");
}
}