背景:
最近又看到乱用SimpleDateFormat的情况,这里做个关于SimpleDateFormat多线程下的安全性问题的总结....之前部门集合了一个时间工具类供大家使用,里面各式各样时间格式化的方法有几十上百个样子,然后由于很多方法都用的一个SimpleDateFormat,部门的机灵鬼发现这他娘不是重复代码嘛?...()的时候,线程B又调用了sdf.parse(), 这时候线程B也执行了sdf.clear()方法, 这样就导致线程A的的calendar数据被清空了(实际上A,B的同时被清空了)....又或者当 A 执行了calendar.clear() 后被挂起, 这时候B 开始调用sdf.parse()并顺利i结束, 这样 A 的 calendar内存储的的date 变成了后来B设置的calendar...3.使用java8提供的更安全的LocalDateTime (推荐!)