Multi-threading is always a challenge when developing large-scale applications. In Java, the SimpleDateFormat class is wonderfully easy to use, but can be spectacularly dangerous and unpredictable in a multi-threaded application.
The use of the SimpleDateFormat class as a static data member or in an enum are important to safeguard. Wrapping it in a thread-safe class is easy and useful. Check-out the details and sample code in my original blog post at macintosh.io.
This is a great article and quite helpful. Thanks Paul!