2021
07-17
07-17
关于HashMap 并发时会引起死循环的问题解析
今天研读Java并发容器和框架时,看到为什么要使用ConcurrentHashMap时,其中有一个原因是:线程不安全的HashMap,HashMap在并发执行put操作时会引起死循环,是因为多线程会导致HashMap的Entry链表形成环形数据结构,查找时会陷入死循环。纠起原因看了其他的博客,都比较抽象,所以这里以图形的方式展示一下,希望支持!1)当往HashMap中添加元素时,会引起HashMap容器的扩容,原理不再解释,直接附源代码,如下:/****往表中添...
继续阅读 >
问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了。排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去。只好用命令排查:topcpu排序,一个java进程cpu到500%了,什么鬼.....查到对应java进程jps||ps-aux|grep端口pid=13455查看进程中线程使用情况T排序查看cpu占用time最高的线程编号top-Hp13455有个线程9877的时间一直在爆涨获取线程十六进制地址9877(十六进制一定要小写)printf"%x\n"9...
笔记:vue-router路由拦截造成死循环,在做路由拦截的时候,一直出现死循环.router的index.js文件路由配置constrouter=newRouter({routes:[{path:'/login',name:'login',component:Login,meta:{isShow:true}},{path:'/',component:Layout,redirect:'/home',meta:{title:"首页菜单"},children:[{path:'home',name:'home',component:()=>import('@/views/Hmoe'),meta:{title:"首页"}}],}]})...