Synchronization Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
可是在項目中,咱們爲了省事,通常都會建立一個DateFormat的static對象,而後 dateFormatter.format(now); 之類的,這裏就有至關大的不安全因數。 html
在common-loggins 裏的SimpleLog是這麼寫的 java
String dateText; synchronized(dateFormatter) { dateText = dateFormatter.format(now); }
另可參看這篇blog:
Java Best Practices – DateFormat in a Multithreading Environment 安全