定位一个Enum枚举的bug,齐齐怪怪

Posted 长城守卫队长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定位一个Enum枚举的bug,齐齐怪怪相关的知识,希望对你有一定的参考价值。

问题:

写了这样得一段代码:

Map<String,Object> map = new HashMap<String, Object>(128);
String s = oppDetailEntity.getBaiqiangTag();
if(StringUtil.isNotBlank(s))
     map.put(EnumOppIndexV2.bqTag.getField(), Arrays.asList(s.split(",")));

于是遇到了一个奇怪得bug,代码每次执行到map.put(EnumOppIndexV2.bqTag.getField(), Arrays.asList(s.split(","))); 这一行就卡住,在开发环境,测试环境是没有这个问题的,至于是怎么定位到是这行代码卡住的,当时是 加了大量的log.info在灰度环境。无论怎么重新构建都不管用。

什么jstack 命令也定位不到。本已以为是HashMap并发导致的闭环,什么乱起八糟的map换了一大堆也没有解决。

问题解决:

最后是通过改变枚举的类名解决了,这个线程假死的问题。

 

解决思路来源:

 

以上是关于定位一个Enum枚举的bug,齐齐怪怪的主要内容,如果未能解决你的问题,请参考以下文章

定位一个Enum枚举的bug,齐齐怪怪

使用Enum.Prase及Enum.TryPrase时的注意事项

mysql里 enum啥意思I

如何解决mysql enum 类型字段的插入问题

MySQL中的enum类型有啥优点

mysql里 enum(F,M,S)啥意思I