DateFormat工具类存在并发问题

也是今天踩了一个坑才去了解到的。

并发问题主要是在format()和parse()两个方法中,因为这两个方法中会去调用calendar.setTime(),如果DateFormat对象被静态全局变量引用,calendar就一个,并发下的setTime当然会有问题。我们常用的SimpleDateFormat是DateFormat的实现类,必然也有这个问题。

说到calendar.setTime(date),想起来之前踩得一个坑,这个date不能为null,也是要注意一下判空保护或者异常捕获,不然会抛运行时异常让线程挂掉。

那么如果解决DateFormat工具类存在并发问题呢,去搜了一下,最好的办法就是不用DateFormat...,有一个时间工具类Joda-Time可以完美避免这个问题,可以去了解一下。

发布了76 篇原创文章 · 获赞 57 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/weixin_42447959/article/details/89220348