Do Not Assume SimpleDateFormat Is Thread-safe

Do Not Assume SimpleDateFormat Is Thread-safe

The code below is improper because it shares a static instance of a SimpledateFormat with any possible number of threads.

Public class Constants {     Public static final SimpleDateFprmat date = new SimpleDateFormat("dd.MM.yyyy");}

SimpleDateFormat is not thread-safe; if multiple threads concurrently use this object, the result is undefined and the output will be bizarre (from format and parse or even exceptions). This code also doesn’t take the time zone into account and it is important to remember that sharing a SimpleDateFormat requires proper synchronization.


Share the Post: