Ich hatte gehofft, aus vielen Aufrufen einer Funktion, die einen Zeitstempel zurückgibt, einen kleinen Leistungsgewinn zu ziehen. Die Funktion sieht so aus:
%Vor%Kann ich das einfach durch ersetzen:
%Vor%Ich weiß, dass Date intern System.currentTimeMillis () verwendet. Meine Frage ist mehr, ob Sommerzeit oder Zeitzone jemals zu einem Unterschied im Ergebnis mit diesen beiden Ansätzen führen könnte. Ich stelle mir vor, dass dies Kalenderobjekte, aber keine Date-Objekte hervorbringen könnte, würde aber eine Klarstellung dazu begrüßen.
Ich weiß, dass ich in einer realen Anwendung wahrscheinlich keinen nennenswerten Unterschied in der Leistung sehen werde, möchte aber dennoch die Antwort wissen.
Danke!
Kein Unterschied, außer der sehr geringen Verzögerung, die durch das Zuweisen eines Date-Objekts verursacht wird.
Aus dem javadoc der Standardkonstruktor von Date
:
Ordnet ein Date-Objekt zu und initialisiert es so, dass es die Zeit darstellt, zu der es zugewiesen wurde, gemessen auf die nächste Millisekunde.
A Date
ist nur ein dünner Wrapper um die Epoche Millisekunden, ohne irgendein Konzept von Zeitzonen. Nur wenn auf einen String gerendert wird, wird die Zeitzone berücksichtigt, aber dies wird von der Klasse Locale
gehandhabt.
Ich würde vorschlagen, einen Unit-Test durchzuführen (zB Ссылка ). Ich sah nur einen geringen Gesamtnutzen für die Ausführung von System.currentTimeMillis im Vergleich zu (new Date ()). GetTime ().
%Vor%Einzelne Runs waren manchmal leicht auf den späteren Ansatz ausgerichtet - abhängig von Ihrer Systemaktivität.
Tags und Links java