日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java.util.ConcurrentModificationException异常分析

發布時間:2024/2/28 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java.util.ConcurrentModificationException异常分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

異常日志

2016-07-20 15:02:41,278 (New I/O worker #197) [ERROR - org.apache.flume.source.AvroSource.appendBatch(AvroSource.java:388)] Avro source r1: Unable to process event batch. Exception follows. java.util.ConcurrentModificationExceptionat java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)at java.util.ArrayList$Itr.next(ArrayList.java:851)at org.apache.flume.channel.ChannelProcessor.processEventBatch(ChannelProcessor.java:157)at org.apache.flume.source.AvroSource.appendBatch(AvroSource.java:386)at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:497)at org.apache.avro.ipc.specific.SpecificResponder.respond(SpecificResponder.java:91)at org.apache.avro.ipc.Responder.respond(Responder.java:151)at org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.messageReceived(NettyServer.java:188)at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)at org.apache.avro.ipc.NettyServer$NettyServerAvroHandler.handleUpstream(NettyServer.java:173)at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:786)at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:458)at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:439)at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:311)at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:553)at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84)at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471)at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332)at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)

異常原因

首先我們可以看到異常是由ArrayList的checkForComodification拋出的。這個方法在遍歷List調用next()方法的時候會被調用,用于檢查List是否已經被修改了。
也就是說問題出在遍歷的時候,List被修改了。
進一步檢查代碼,發現List<Channel> requiredChannels = new ArrayList<Channel>();作為成員變量被定義,而在運行的過程中,這個變量會被修改。

解決辦法

  • 將共享變量改為線程私有變量。這次遇到的情況,剛好是不需要定義為成員變量的情況,所以直接將成員變量改為方法局部變量,問題解決。根據實際情況來定,如果能用這種方案,當然是優先選擇這種方案。
  • 使用線程安全的類替換。由于ArrayList是一個非線程安全的類,可以采用線程安全的類進行替換,如CopyOnWriteArrayList。不能使用Vector,Vector在遍歷的時候不是線程安全的。
  • 使用加鎖等同步方案。

總結

以上是生活随笔為你收集整理的java.util.ConcurrentModificationException异常分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久免费精品 | 樱花草涩涩www在线播放 | 日本裸体动漫 | 国产第六页 | avxx| 国产三级午夜理伦三级 | 特级西西444www大精品视频 | 亚洲国产精品一区二区尤物区 | 久久久免费高清视频 | 亚洲资源网站 | 欧美性视频一区二区 | 打屁股无遮挡网站 | 国产一线二线三线在线观看 | 青草av在线 | 久久国语| 伊人7| 免费中文字幕视频 | 欧美xxxx黑人xyx性爽 | 精品欧美一区二区三区免费观看 | 欧美粉嫩videosex极品 | 国产一区二区三区在线免费观看 | av福利在线播放 | 色臀| 色女综合| 久久精品久久久久久久 | 久久久久久国产精品免费免费 | 欧美爽爽爽 | 色翁荡息又大又硬又粗又爽 | 成人午夜毛片 | 热热色原网址 | 在线观看视频你懂得 | 国产激情毛片 | 99精品99| 激情导航 | 成年丰满熟妇午夜免费视频 | 综合视频在线观看 | 最好看的日本字幕mv视频大全 | c逼视频| 丁香美女社区 | 日本中文字幕观看 | 在线视频精品免费 | 日本国产精品视频 | 亚洲欧洲免费视频 | 性欧美高清 | 亚洲一区和二区 | 美女狂揉羞羞的视频 | 日本a级一区 | 欧美日韩一二三 | av网站有哪些 | www.成人在线视频 | 视频二区在线 | 国产在线观看网站 | 国产一区二区亚洲 | 森泽佳奈作品在线观看 | 国产视频123区 | 久草中文视频 | 欧美高清一区 | 亚洲免费av一区二区 | 成人免费高清在线观看 | av手机天堂网 | 国产成人一区二区三区 | 香蕉久久久久久久av网站 | caoprom超碰 | 嫩草影院在线免费观看 | 噜噜噜亚洲色成人网站 | 天天干天天操天天碰 | 亚洲自拍在线观看 | 亚洲精品电影院 | 激情综| 在线观看wwww | av三级网站 | 免费一级欧美 | 91官网在线观看 | 黄色小视频在线观看 | av草逼| 日韩精品一区二区在线 | 国产欧美一区二区三区视频在线观看 | 97久久人人超碰caoprom欧美 | 美女被男人桶出白浆喷水 | 制服丝袜天堂 | 日本高清视频网站 | 亚洲综合成人在线 | 国产欧美日韩91 | 搞中出 | 国产黄色大片视频 | 男人操女人免费网站 | 日本美女一级片 | 亚洲欧美一区二区在线观看 | 日韩在线免费 | 成人在线国产精品 | 日韩特黄毛片 | 3d动漫啪啪精品一区二区中文字幕 | 九色视频在线观看 | 中文字幕人妻一区二区 | 337p日本欧洲亚洲鲁鲁 | 多毛的亚洲人毛茸茸 | videosex抽搐痉挛高潮 | 成人动漫av在线 | 九九在线观看免费高清版 |