zl程序教程

您现在的位置是:首页 >  Java

当前栏目

SimpleDateFormat 工具多线程环境下导致的严重问题

2023-04-18 14:53:24 时间

今天遇到一个罕见的问题,在提交一个表单的操作后偶尔会后台报500错误,错误说的是无法将字符串xx转换为数字,明明每次提交的参数都是一样的,怎么会有这种问题,甚至还怀疑了是tomcat的问题,这个问题都不是最严重的,严重的是会造成Cpu全部被占用,内存被疯狂占用,直到Jvm崩溃,tomcat直接无响应,ctrl+c 也无法停止。因为这个提交后端用到了mongo,也怀疑是mongo不稳定,最终余光扫到了一个可疑点,有个地方声明了静态的SimpleDateFormat对象,然后多个地方复用,最终将这里改掉后,所有的问题都解决了。没想到一个这样的问题会导致这样的严重后果。记录下来,警示自己和后人。