Zeitunterschiede mit System.currentTimeMillis () messen

Ich habe ein einfaches Java-Programm und möchte den Zeitunterschied zwischen einigen Operationen kennen. Für diese Frage sind die Details nicht wichtig, aber nehmen wir das folgende Szenario.

long beginTime = System.currentTimeMillis();

//Some operations. Let us asssume some database operations etc. which are time consuming.

//

long endTime = System.currentTimeMillis();

long difference = endTime - beginTime;

Wie zuverlässig ist der Unterschied, wenn der Code auf einem Computer ausgeführt wird?

Nehmen wir an, der Prozessor führt einige Anweisungen aus meinem Code aus, gibt dann den Kontext für einen anderen Prozess aus, der einige Zeit ausgeführt wird, und kehrt dann zurück, um Anweisungen auszuführen, die sich auf diesen Java-Prozess beziehen.

Der Zeitunterschied sollte also vom aktuellen Status meiner Maschine abhängen, d. H. Wie viele Prozesse laufen usw.? Ist dieser Mechanismus in der Zeit der Profilerstellung, die einige Vorgänge benötigen, nicht zuverlässig?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage