优秀的编程知识分享平台

网站首页 > 技术文章 正文

Java中int最大值引发的“血案”(java integer最大值)

nanyue 2024-10-25 13:24:31 技术文章 4 ℃

故事发生在2022年的元旦,当程序猿小哥哥正在愉快度假的时候,接到运营小姐姐的电话:现网出问题了,数据没有更新。

程序员小哥哥赶到家,紧急排查,不费吹灰之力,就从多年前一直存在的代码库里找到了原因,并发现了一段神奇的代码:

这段代码来源于许多年前,最少是2013年前(从git上查找的提交记录)。代码不复杂,功能也简单,生成一个批次号,给定时任务使用(奇特的命名方式,请忽略), 麻烦的地方是该值还存到了数据库,并参与了多处逻辑运算,不用怀疑:数据库和业务运算都用的是int;更坑的是,由于是公共方法,多个服务都使用到了。如果要改的话.....程序员小哥哥,看了看时间:元旦唉.....放假期间,想进行现网升级,还是改动超级大的情况下,想想就知道多么不现实。

简直了~

Tags:

最近发表
标签列表