Heim >Java >javaLernprogramm >Wie kann ich die verstrichene Zeit in Java genau messen?
Messen der verstrichenen Zeit in Java
In Java erfordert die genaue Messung der verstrichenen Zeit das Verständnis des Unterschieds zwischen verstrichener Zeit und der Uhrzeit. Während viele Antworten die Verwendung von System.currentTimeMillis() vorschlagen, ist es wichtig zu beachten, dass es die Uhrzeit an der Wand misst, die durch Uhrkorrekturen beeinflusst werden kann.
Um die verstrichene Zeit korrekt zu messen, sollte System.nanoTime() dies tun verwendet werden. Diese API wurde speziell zur Quantifizierung der verstrichenen Zeit entwickelt und bleibt von Uhrkorrekturen unberührt. Daher liefert es genauere Messwerte als System.currentTimeMillis().
Was Ihren Beispielcode betrifft, können Sie zum Erfassen der verstrichenen Dauer zwischen startTime und endTime den folgenden Ansatz verwenden:
public class Stream { private long startTime; private long endTime; public void start() { startTime = System.nanoTime(); } public void end() { endTime = System.nanoTime(); } public long getDuration() { return (endTime - startTime); } }
In diesem Beispiel können Sie die Werte startTime und endTime innerhalb der Methoden start() und end() ändern, wenn Sie Ihre Zeitmessung beginnen und beenden möchten. Die getDuration()-Methode gibt die verstrichene Zeit in Nanosekunden zurück, die bei Bedarf in andere Einheiten umgewandelt werden kann.
Denken Sie daran, dass Sie für eine präzise Messung der verstrichenen Zeit unbedingt System.nanoTime() verwenden und sich nicht darauf verlassen sollten System.currentTimeMillis(), das anfällig für Uhrkorrekturen ist.
Das obige ist der detaillierte Inhalt vonWie kann ich die verstrichene Zeit in Java genau messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!