- 下午的时候,产品说某项目的某功能不要了,客户看着眼花(mmp,这个功能当时非要吵吵着加上,现在过了好几版以后,又说不要了)
- 该功能是使用setinerval 实现的,为了省事,即没有回滚版本(该功能已经被覆盖了好几版了,不容易检出),也没有大片注释代码(注释执行方法以后,代码编辑以后会有已经声明,未使用的waring)
- 所以直接修改了setinerval的间隔时间。
- 但是直接修改成了1000 * 60 * 60 * 24 * 30 = 30天,后来发现代码直接快速执行,但是修改为2000 以后又正常。
- 后来经过查询发现, setInterval最大时间,原来 30天超过了 setinerval的最大值。
- setInerval的最大值是 2^31 - 1 = 2147483647ms = 24.8551348032 天 ,所以30天 超过了 最大值
- 2^31 - 1 也是 java 中 int 类型的最大值
setInterval 重复执行的bug
最新推荐文章于 2023-10-03 16:00:33 发布