对于java.util.ConcurrentModificationException感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于com.intellij.util.Reflectio
对于java.util.ConcurrentModificationException感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于com.intellij.util.ReflectionUtil 对方法 java.util.ResourceBundle.setParent(java.util.ResourceBundle) 的非法反射访问、ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator、ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)、FAQ(80):java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification的宝贵知识。
本文目录一览:- java.util.ConcurrentModificationException
- com.intellij.util.ReflectionUtil 对方法 java.util.ResourceBundle.setParent(java.util.ResourceBundle) 的非法反射访问
- ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator
- ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
- FAQ(80):java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification
java.util.ConcurrentModificationException
// 更新暂停的位置
Set<String> pset = onPauseList.keySet();
List<String> pauseList = new ArrayList<String>();
for (Iterator iterator = pset.iterator(); iterator.hasNext();) {
String string = (String) iterator.next();
// 不要在此书直接 onPauseList.remove(string);
pauseList.add(string);
onPauseList.put(string, tempb);
}
onPauseList.remove(pauseList);
你不能在对一个List进行的时候将其中的元素删除掉
解决办法是,你可以先将要删除的元素用另一个list装起来,等结束再remove掉
com.intellij.util.ReflectionUtil 对方法 java.util.ResourceBundle.setParent(java.util.ResourceBundle) 的非法反射访问
如何解决com.intellij.util.ReflectionUtil 对方法 java.util.ResourceBundle.setParent(java.util.ResourceBundle) 的非法反射访问
我在 VSCode 中编写了一些 kotlin 代码
其中之一是:
public void readCSV(String fileName) {
fileLocation = fileName;
File csvFile = new File(fileName);
Scanner sfile;
// noOfColumns = 0;
// noOfRows = 0;
data = new ArrayList<ArrayList>();
int colCounter = 0;
int rowCounter = 0;
try {
sfile = new Scanner(csvFile);
while (sfile.hasNextLine()) {
String aLine = sfile.nextLine();
Scanner sline = new Scanner(aLine);
sline.useDelimiter(",");
colCounter = 0;
while (sline.hasNext()) {
if (rowCounter == 0)
data.add(new ArrayList<String>());
data.get(colCounter).add(sline.next());
colCounter++;
}
rowCounter++;
sline.close();
}
// noOfColumns = colCounter;
// noOfRows = rowCounter;
sfile.close();
} catch (FileNotFoundException e) {
System.out.println("File to read " + csvFile + " not found!");
}
}
当我运行它时,我得到:
fun main() {
println("Hello world")
}
它有效,但我无法隐藏或修复警告,我使用 JDK 15
我在 IntelliJ 上没有收到这些警告
ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator
java.util.ConcurrentModificationException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261)
at cn.qjj.business.EmailBus.email(EmailBus.java:58)
at cn.qjj.business.EmailBus$1.run(EmailBus.java:130)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
java.util. ConcurrentModificationExceptionat java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1261)
at cn.qjj.business.EmailBus.email(EmailBus.java:58)
at cn.qjj.business.EmailBus$1.run(EmailBus.java:130)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
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)
FAQ(80):java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification
2018 年 8 月 31 日
1、日志:
2018-04-13 20:00:55.757:WARN:oejs.ServletHandler:/g01-web/admin/activityManager/sendActivity.jsp
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
at java.util.ArrayList$Itr.next(ArrayList.java:831)
at org.apache.jsp.admin.activityManager.sendActivity_jsp._jspService(sendActivity_jsp.java:146)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
2、解决方法:
1)线程的 bug;
源码:
(在遍历对象时,同时修改对象的数据)
for(ActivityInfo info : list){
if(info.getActivityId() == Integer.parseInt(activityId)){
System.out.println("del-info:"+info);
list.remove(info);
accountService.notifyLogonPlayerActivity(ActivityNotifyType.FORCE_ACTIVITY.getCode(),info.getActivityId());
break;
}
}
2)修改:
for(ActivityInfo info : list){
if(info.getActivityId() == Integer.parseInt(activityId)){
System.out.println("del-info:"+info);
delActivity = info;
accountService.notifyLogonPlayerActivity(ActivityNotifyType.FORCE_ACTIVITY.getCode(),info.getActivityId());
break;
}
}
list.remove(delActivity);
改为:跳出循环体后再修改对象。
3)foreach 的快速失败,
阿里巴巴 java 开发手册建议:
7. 【强制】不要在 foreach 循环里进行元素的 remove /add 操作。 remove 元素请使用 Iterator
方式,如果并发操作,需要对 Iterator 对象加锁。
我们今天的关于java.util.ConcurrentModificationException的分享就到这里,谢谢您的阅读,如果想了解更多关于com.intellij.util.ReflectionUtil 对方法 java.util.ResourceBundle.setParent(java.util.ResourceBundle) 的非法反射访问、ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator、ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1207)、FAQ(80):java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification的相关信息,可以在本站进行搜索。
本文标签: