SimpleDateFormat 工具多线程环境下导致的严重问题
2023-04-18 14:53:24 时间
今天遇到一个罕见的问题,在提交一个表单的操作后偶尔会后台报500错误,错误说的是无法将字符串xx转换为数字,明明每次提交的参数都是一样的,怎么会有这种问题,甚至还怀疑了是tomcat的问题,这个问题都不是最严重的,严重的是会造成Cpu全部被占用,内存被疯狂占用,直到Jvm崩溃,tomcat直接无响应,ctrl+c 也无法停止。因为这个提交后端用到了mongo,也怀疑是mongo不稳定,最终余光扫到了一个可疑点,有个地方声明了静态的SimpleDateFormat对象,然后多个地方复用,最终将这里改掉后,所有的问题都解决了。没想到一个这样的问题会导致这样的严重后果。记录下来,警示自己和后人。
相关文章
- CentOs8 Linux安装Jenkins、部署并运行springboot项目
- idea debug jdk源码行数不对以及No executable code found at line
- Spring认证中国教育管理中心-Spring Data R2DBC框架教程七
- 后端技术:Java编程中忽略这些细节,Bug肯定少不了
- Java 压缩20M文件从30秒到1秒的优化过程,真不相信?
- Java中clone( )和new效率哪个更高?
- Java 有线程安全的 set 吗?
- Maven私服搭建及自定义Archetype(骨架)
- 自动扩容真香!再也不怕你们给我爬挂了
- 从Java的类加载机制谈起:聊聊Java中如何实现热部署(热加载)
- Docke + Jenkins 实现自动化部署
- Maven 常用坐标依赖整理 (长期更新)
- 数据结构与算法 —— Java 实现(线性表)
- 数据结构与算法 —— Java 实现(链表)
- Java实现四种微信抢红包算法,拿走不谢
- Java与Node.js的较量--一场史诗之战
- [1085]对于maven中pom.xml依赖报红问题
- 升级到最新版本的IDEA后Maven私仓挂了
- maven 管理工具学习使用 —— (一)
- 手把手教你学 JDBC —— 结构分离