也是今天踩了乙個坑才去了解到的。
併發問題主要是在format()和parse()兩個方法中,因為這兩個方法中會去呼叫calendar.settime(),如果dateformat物件被靜態全域性變數引用,calendar就乙個,併發下的settime當然會有問題。我們常用的******dateformat是dateformat的實現類,必然也有這個問題。
說到calendar.settime(date),想起來之前踩得乙個坑,這個date不能為null,也是要注意一下判空保護或者異常捕獲,不然會拋執行時異常讓執行緒掛掉。
那麼如果解決dateformat工具類存在併發問題呢,去搜了一下,最好的辦法就是不用dateformat...,有乙個時間工具類joda-time可以完美避免這個問題,可以去了解一下。
Js之DateFormat工具類
對date的擴充套件,將date轉化為指定格式的string 年 y 季度 q 月 m 日 d 小時 h 分 m 秒 s 可以用1 2個佔位符 示例 formatdatecnt new date yyyy mm dd hh mm ss param obj 具體的日期 param type 日期格式 ...
自己實現DateFormat日期格式化類
日期格式化類 必須掌握 api g era 標誌符 text ad y 年 year 1996 96 m 年中的月份 month july jul 07 w 年中的週數 number 27 w 月份中的週數 number 2 d 年中的天數 number 189 d 月份中的天數 number 10...
工具類 HexUtil 工具類
hexutil 源 如下 十六進製制處理工具類 public class hexutil param hex 需要轉換的16進製制字串 return 以位元組陣列返回轉換後的結果 public static byte hexstringtobyte string hex return result ...