Meßmethoden in Java
Die Meßmethode "java.lang.System.currentTimeMillis"
Eine Methode kann auch eine Messung durchführen und das Ergebnis als Wert zurückgeben. Die Meßmethode "java.lang.System.currentTimeMillis" ergibt eine bestmögliche Annährung an die aktuelle Zeit.
java.lang.System.currentTimeMillis [Synopse]java.lang
Class System
public static long currentTimeMillis()
Das Ergebnis ist eine Zahl vom Typ "long", einem ganzzahligen Datentyp mit einem größeren Wertebereich als der Datentyp "int", der den Unterschied zwischen der aktuellen Uhrzeit und dem Zeitpunkt „Mitternacht am 1. Januar 1970“ (UTC) angibt. Obwohl die Angabe in Millisekunden erfolgt, kann es sein, daß diese Meßmethode weniger genau als eine Millisekunde ist.
Das folgende Kompaßdiagramm stellt dar, daß die Meßmethode "currentTimeMillis" durch den Zustand der Zeit beeinflußt wird und ein Ergebnis vom Typ "long" liefert. Sie hat keine Wirkung und die gemessene Zeit wird auch durch Argumente nicht beeinflußt.
currentTimeMillis [Kompassdiagramm]Zeit
|
V Messung
.---------------------.
| currentTimeMillis | long
| |--------> Zeit in Millisekunden
| | Ergebnis
'---------------------'
Das folgende Programm gibt den Wert eines Aufrufs dieser Meßmethode aus.
Time.javapublic class Time
{ public static void main( String[] args )
{ System.out.println( System.currentTimeMillis() );
System.out.println( System.currentTimeMillis() ); }}System.out1036702421370
1036702421370
Übungsfrage Welche Gründe könnte es dafür geben, daß die beiden Aufrufe den gleichen Wert haben?
Wenn dasselbe Programm später wieder aufgerufen wird, kann es sein, daß es etwas anderes ausgibt.
System.out1036702580330
1036702580330
Der Aufruf "System.currentTimeMillis()" ist ein Beispiel für einen Ausdruck, dessen Wert zur Schreibzeit nicht bestimmt ist, sondern erst zur Laufzeit ermittelt wird.