【软件技术】分享静态变量HashMap使用的教训
2024-11-14 00:00:55  阅读数 559

公有静态变量HashMap,我们系统在生产使用时,出现了致命的问题,出现了数据错乱,误删的问题。

发布版本前,系统有经过测试团队测试过,测试结果满足需求验收标准,功能都测试正常。所以在刚开始出现故障时,我们一直在怀疑数据上的问题,折腾了好几天,也没发现很明显的原因,最终只能来进行相关代码走查,组织几个技术加业务专家,对功能代码逐一过,也许是老天眷顾还是啥的,我们刚走查没多久,就发现了有个模块使用了工具类中公用的HashMap对象,后面搜这个对象的使用地方,一看,真想大白,这个开发人员随便引用别人的变量,结果在并发时,两个功能都在操作这个对象,所以结果可想而知。

通过此次故障排查,我们吸取教训,在工具类使用时,尤其是工具类变量的使用,要多留个心,是否存在并发情况下的使用,如果是会怎么样,如何让他支持高并发。

慎重定义全局性的属性,如有必要,要注意并发抢资源问题