Ich möchte eine Java-Klasse mit thread-sicheren statischen Methoden erstellen, um Daten zu analysieren. Ich verstehe, dass einige der Java 7 (und früher) Datum-Zeit-Klassen nicht Thread-sicher sind. Was ist die beste Thread-sichere Implementierung in Java 8 diese Funktionalität:Java 8 beste Möglichkeit, Textdatum zu Millisekunden-Zeitstempel zu analysieren
String text = "5/16/2008";
long timestamp = DateUtil.getTimestamp(text);
In Java 7 und früher, würden Sie dies tun:
public class DateUtil {
public static long getTimestamp(String text) {
DateFormat df = new SimpleDateFormat("M/d/yyyy");
df.setTimeZone(TimeZone.getTimeZone("America/New_York"));
long timestamp = df.parse(text).getTime();
return timestamp;
}
}
Aber anstatt eine neue Instanz von DateFormat
für die Erstellung von Bei jedem Aufruf möchte ich eine einzige statische Instanz für alle Aufrufe dieser statischen getTimestamp
-Methode freigeben. Mein Verständnis ist, dass dies nicht Thread-sicher ist.
Eine wichtige Voraussetzung ist, dass der Text, den ich analysieren möchte, ein kurzes Datum wie "5/16/2008" ohne HH: mm: ss Auflösung hat.
Ich möchte auch keine Drittanbieter-Bibliothek wie Joda-Time, sondern nur Standard-Java-8-Klassen verwenden.
Die Joda-Time-Bibliothek von Drittanbietern wurde (hauptsächlich) in Java-8-Standardklassen in den 'java.time. *' - Paketen erstellt. –