我是靠谱客的博主 专注音响,最近开发中收集的这篇文章主要介绍一次使用ConcurrentHashMap导致的生产bug。。。。。。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

其实是一个很小的问题,上周五我们发版本,但是呢BU又要求只上其中的某个功能,所以我用cherry-pick合并到了生产上,大家都能都知道这样的话其实会产生挺多的冲突(还有其他大佬也在改我的接口),我在merge代码的时候不知道是哪个大佬的代码如下:

Map<String, String> map = new ConcurrentHashMap<>();
xxList.parallelStream().foreach(o -> {
map.put(o.getParam1(). o.getParam2())
});

发布以后我就测试下接口跑起来没问题。周末幺蛾子就来了,前端说接口异常的,给了我input josn。我debug一看,原来前端的传参里面param1和param2都为null了。我们用习惯了HashMap,HashMap的key value都是可以为null的。但是ConcurrentHashMap的key value都是不能为null的,否则会抛出NPE。
这样直接整个接口都炸了,周末又得加班重新上线了。ConcurrentHashMap的put之前我们需要对参数进行判空。
哎,还是以后得多认真一点。

最后

以上就是专注音响为你收集整理的一次使用ConcurrentHashMap导致的生产bug。。。。。。的全部内容,希望文章能够帮你解决一次使用ConcurrentHashMap导致的生产bug。。。。。。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部