如何正确地将数据结构中的图像制作成动画而不出现ConcurrentModificationException?
对于那些讨厌阅读长期问题的人,请在下面的完整代码,运行它,hit SPACE几次,您会得到ConcurrentModificationException.简单的问题:您如何修复它?问题是在退出屏幕时试图从列表中删除Fireball. Timer代码是问题所在的地方. 如果您想要更多信息,请继续阅读. 在 这个问题使用 此答案 表明应使用数据结构来握住火球. IMO是一半 @$$答案.我认为这是因为我给出的代码不完整,因为当需要从数据结构中删除火球时,它没有考虑到何时从屏幕上移出或碰撞.与对方球员.因此,最终它只是无尽的火球,我认为这不是有效的,也不是正确的方法. 这就是我的做法.有一个Fireball类,可以保存着火球和X和Y位置的图像.我所做的就是继续将一个Fireball实例添加到List上,并用键绑定并使用计时器动画,然后移动x x的位置 Timer timer = new Timer(40, new ActionListener() { @Over
0 2024-02-26
编程技术问答社区
安卓动画中的java.util.ConcurrentModificationException
我想念Android中同步代码的概念. 方案 屏幕上总是有3个项目.每个图像都存储在阵列列表中(lstgraphics).为此,我使用表面视图.用户点击图像,将删除图像的市场并添加新的市场. 代码样本: AnimationHideThread ... @Override public void run() { Canvas c; while (run) { c = null; try { c = panel.getHolder().lockCanvas(null); synchronized (panel.getHolder()) { panel.updatePhysics();
0 2024-02-26
编程技术问答社区
java.util.ConcurrentModificationException On MapView
小伙子 我从很多天开始就面临着非常奇怪的问题.我正在尝试经常更新覆盖层.因此,有时候我会在访问地图或某个时候在地图尝试更新覆盖时获得" Java.util.concurrentModificationException" 02-17 14:56:01.621: W/dalvikvm(3653): threadid=1: thread exiting with uncaught exception (group=0x40015560) 02-17 14:56:01.631: E/AndroidRuntime(3653): FATAL EXCEPTION: main 02-17 14:56:01.631: E/AndroidRuntime(3653): java.util.ConcurrentModificationException 02-17 14:56:01.631: E/AndroidRuntime(3653): at java.util.ArrayList$Arra
2 2024-02-16
编程技术问答社区
在每一个安卓系统中都会出现ConcurrentModificationException
我正在通过ParseObject的Arraylist,然后在用户对象不等于null时,我将一个foreach循环提取一个条件.我面临两个问题. 1.如果我通过将不同的数据传递到另一个列表,然后在适配器中传递该列表,例如,我将获取随机数据,例如:如果在项目#1上,则名称为" Mac",则它正在项目3中显示. ArrayList checkRequestedNetArrayList = new ArrayList(); requestedNetArrayList = (ArrayList) objects; MyResponsibilitesActivity.requestedNetArrayList = requestedNetArrayList; adapterRequest = new GenericAdapter( getApplicationContext(),
2 2024-02-11
编程技术问答社区
请求列表大小时的并发修改
我正在尝试获取列表的大小,但是在这样做时,我会在size()方法上获得confurrentModificationException.这很奇怪,因为我在迭代时并不试图修改列表.这是我的一些代码可能引起的,但我看不到它的问题. 主要方法: private void setupCharacterGrid() { currentCharacters.add(0, new Character("add", "add")); if (currentCharacters.size()
0 2024-02-06
编程技术问答社区
TryCatch ConcurrentModificationException捕捉到`30%的时间
,我正在使用迭代器将弹丸从列表中删除,如果它脱离了我的jpanel的边界.在使用迭代器之前,它将不起作用,但是使用迭代器,只要我将方法放入ConcurrentModificationException> ConcurrentModificationException的try-catch中.该代码现在有效,并成功地将弹丸从列表中删除,但是大约30%的时间,捕获量并在我的程序中引起了口吃.我不知道为什么它只是偶尔会捕获,但是在有限的时间里,我的教授能够看一下,他认为这可能是一个同步问题. 这是运行我的程序的循环: private void executeGameLoop() { long nextFrameStart = System.nanoTime(); while(panel.getRunning()) { do {
0 2023-10-26
编程技术问答社区
JBoss Resteasy服务中罕见的ConcurrentModificationException
我已经实施了在Apache Tomcat下工作的Resteasy服务.它可以正常工作,但是有时候,在向服务发送请求时,很少会收到如此疯狂的错误: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at com.sun.xml.bind.v2.runtime.reflect.Lister$CollectionLister$1.next(Lister.java:288) at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.serializeListBody(ArrayElementProperty
24 2023-10-24
编程技术问答社区
ConcurrentModificationException,即使使用集合。LinkedHashMap上的同步地图
我正在使用我的课堂中的地图对象,该对象与collections.synchronizedmap()用于linkedhashmap这样的so: private GameObjectManager(){ gameObjects = Collections.synchronizedMap(new LinkedHashMap()); } 我在此功能的第三行上获得了并发修改例外: public static void frameElapsed(float msElapsed){ if(!INSTANCE.gameObjects.isEmpty()){ synchronized(INSTANCE.gameObjects){ for(GameObject object : INSTANCE.gameObjects.values()){...} } } }
6 2023-10-13
编程技术问答社区
错误 : java.util.ConcurrentModificationException
我有一个网格,用户选择该行, 单击一行时,其ID将发送到我的Action类AddBookToSession.java,在病房后,它将列表返回我的JSP页面invoice.jsp 我会遇到错误java.util.ConcurrentModificationException,当用户从我的网格中选择一行时. 我阅读了类似的问题,但我仍然无法解决我的问题. 我的问题是:为什么我会遇到java.util.ConcurrentModificationException错误以及如何解决此问题.请帮助我解决这个问题. 控制台中的错误: Dec 10, 2012 11:37:30 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.util.ConcurrentModif
8 2023-10-04
编程技术问答社区
确保每个特定的列值不会在表中创建重复的记录
考虑以下情况 假设数据库表中有三个字段 ------------------------------------------ PrmiaryKey | Column A | Column B ----------------------------------------- 我需要强制执行,对于B列中的值应该具有唯一值A 列的唯一值 示例 Col B Col A 12 13 (OK) 14 15 (OK) 15 16 (OK) 12 13 (OK) 15 16 (OK) 14 17 (not OK) 由于值14以前具有15个列下的值.因此,它的值不应与15不同.我需要从数据库端强制执行此行为.是否有一个特定的约束,我需要对此进行整理
8 2023-09-25
编程技术问答社区
从Kafka消费失败 迭代器处于失败状态
我在消费卡夫卡的消息时会得到异常. org.springframework.messaging.MessagingException: Consuming from Kafka failed; nested exception is java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Iterator is in failed state 我在应用程序上下文中有一个消费者,带有一个出站适配器. 应用程序上下文中的消费者配置
Java组得到充分
我正在制作粒子发射极. 每个"渲染"对象都存储在标签中,当屏幕上有很多粒子时,控制台会吐出并发的修改异常.我通常在这些粒子上的寿命很短,因此几秒钟后它们会被删除,但是我敢肯定,这可能是将来的问题.我该如何解决? 编辑:代码: public class UpdatedManager { private static Set updates = new HashSet(); private UpdatedManager() {} public static Set getUpdates() { return new HashSet(updates); } public static boolean registerUpdated(Updated u) { return updates.add(u); } public static boolean unregisterUpdated(Updated u)
2 2023-08-31
编程技术问答社区
单核处理器还能抛出ConcurrentModificationException吗?
如果我在单个核心PC上产生2个线程,它是否曾经访问过ArrayList同时访问ConcurrentModificationException? 我的直觉告诉我,尽管有2个线程,但它们无法实现真正​​的并行性,因为有一个核心,并且它可以做什么,主要是从一个线程跳到另一个线程,而无需执行指令,例如arrayList.add(element)同一时间. 解决方案 tl; dr:是 List myList = new ArrayList(Arrays.asList("My string")); Iterator myIterator = myList.iterator(); myList.add("Another string"); myIterator.next(); 结果: Exception in thread "main" java.util.ConcurrentModifica
52 2023-06-25
编程技术问答社区
并行修改选择
我有一个普通的数据库调用,可以从数据库中收集信息.然后,我使用这些信息来创建我的对象(CallQueue),然后将这些对象添加到列表中,然后返回列表. 突然,我发现我最初的代码无法按预期工作,因为我创建了dublicates,所以现在我试图使任何脱颖而出的人都在创建!但是有一个问题! 我无法循环浏览我的列表,并检查是否已经创建了对象! 这是我的代码: while (query.next()) { if (!queues.isEmpty()) { /*This gives the Execption->*/ for (CallQueue callQueue : queues) { if (callQueue.getType().equals(query.getString("KØ"))) { double decimalTime = query.getDouble("TI
4 2023-06-08
编程技术问答社区
如何在迭代列表的同时向其添加数值
我有这样的场景 List xxx = new ArrayList for(String yyy : xxx){ for(String zzz:xyxy){ if(!zzz.equals(yyy)){ xxx.add(zzz); } } } 但是我得到java.util.concurrentmodification exception:null exception.有人可以帮助我解决这个问题吗?谁能给我替代方法来执行此操作? 解决方案 查看 该类的迭代器和ListIterator方法返回的迭代器是失败的:如果列表在创建迭代器后的任何时间进行结构修改,除非通过迭代器自己的删除或添加迭代器,否则迭代器将投掷,则将conturrentModificationException. 因此,您将需要明确获取ListIterator并使用它来正确更改ArrayList.另外,我不相信您可以使用面孔循环,因为其中的迭代
10 2023-06-06
编程技术问答社区
使用LinkedHashMap的ConcurrentModificationException
当我迭代以下代码中的LinkedHashMap结构时,不确定是什么触发java.util.ConcurrentModificationException.使用Map.Entry方法正常工作.没有关于从以前的帖子触发这一点的很好的解释. 任何帮助将不胜感激. import java.util.LinkedHashMap; import java.util.Map; public class LRU { // private Map m = new HashMap(); // private SortedMap lru_cache = Collections.synchronizedSortedMap(new TreeMap()); private static final int MAX_SIZE = 3; p
24 2023-06-06
编程技术问答社区
ConcurrentModificationException的困境
i有一个方法测试(),在其中我试图将两个链接hashmap相互比较,并通过删除键/值对,如果在两个LHM中都找到了键/值对,并修改了其中一个地图的内容.运行此方法时,我一直在获得consurrentModificationException.我了解为什么我会得到例外(因为我试图修改正在循环的列表).但是,我不确定该如何解决.到目前为止,我有此代码: private void test() { LinkedHashMaptestBene = new LinkedHashMap(); LinkedHashMaptestDly = new LinkedHashMap(); testBene.put("ABCDEFG", BigDecimal.ZERO); testBene.put("BCDEFGH", BigDecim
20 2023-06-06
编程技术问答社区
在HashMap中获取、放置和移除元素而不进行迭代,是否会导致ConcurrentModificationException?
我有一个与多个线程共享的静态hashmap.我根本不迭代地图,而只是使用get,put,remove.它可以从ConcurrentModificationException? 中安全 该方法看起来像 private static Map TRACKER = new HashMap(); public static void track(Long tid, boolean b) { if (b) { if (TRACKER.containsKey(tid)) { TRACKER.put(tid, TRACKER.get(tid) + 1); } else { TRACKER.put(tid, 1); } } else { Intege
56 2023-05-16
编程技术问答社区