一个并发问题(simpledateformat)

线上web服务器出现valve异常,经过排查发现是SimpleDateFormat在并发环境中的误用,由于其非线程安全导致。解决方案是避免在工具类中将其声明为static,并在需要时直接new实例,或者使用ThreadLocal以提高效率。提醒开发者注意HashMap、Random等非线程安全类的并发使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天,下午发现线上机器有问题,处理下。

发现线上web 服务器出现问题,webx 渲染模板出问题,抛出valve 异常。

起初以为是valve问题,但是仔细想想不应该,线上机器发布有一段时间了,为啥突然冒出来,由于开始只是报了一个

        ... 60 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16

后续没有了,对排除问题带来困难,更郁闷的我直接重启了线上tomcat,哎,捉急了。

后续再出问题是将完整的异常栈拿到

      ... 60 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16
        at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:436)
        at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2081)
        at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1996)
        at java.util.Calendar.complete(Calendar.java:1528)
        at java.util.Calendar.get(Calendar.java:1132)
        at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:992
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值