Map中remove()方法导致的死循环
现象描述
业务进程hang住不动了
问题定位
- 使用jvisualvm 查看耗资源的线程
- dump线程,转换16进制,找到对应的线程id,找到线程对应代码
- 分析发现死循环
问题重现
1 | public static void main(String[] args) { |
执行上面的语句会发现,已经死循环了,为什么?编译的时候并没有报错!!!
结论
直接remove掉数组是remove不掉的,这就不是一个对象,在写基础代码的时候要注意
每天code一点点
业务进程hang住不动了
1 | public static void main(String[] args) { |
执行上面的语句会发现,已经死循环了,为什么?编译的时候并没有报错!!!
直接remove掉数组是remove不掉的,这就不是一个对象,在写基础代码的时候要注意
微信支付
支付宝