Al depurar el código de Java utilizando Eclipse, para las variables de recopilación, vi el miembro modcount
. Qué significa eso?¿Qué hace la variable de conteo al depurar la colección
Respuesta
Muchas de las colecciones de Java producen iteradores que son "rápidos", lo que significa que si la colección se cambia después de crear un iterador, el iterador se invalidará y lanzará un ConcurrentModificationException
tan pronto como sea posible. (En comparación con fallar más tarde o devolver datos no válidos.)
Para admitir esta funcionalidad, la colección debe realizar un seguimiento de si se ha modificado. Cada vez que se cambia la colección, aumenta modcount
. Cuando la colección produce un iterador, el iterador almacena el valor de modcount
desde el momento de su creación. Luego, cada vez que intente utilizar el iterador, comprueba si su guardado modcount
es diferente del modcount
actual de la colección principal; si es así, el iterador falla con un ConcurrentModificationException
.
(Una excepción a esta regla es que las modificaciones a la colección hecha a través del repetidor en sí (como el método del iterador remove
) no invalidan el iterador.)
- 1. ¿Qué hace la variable * read-eval *?
- 2. Descifrar información variable al depurar Java
- 3. Nombrar una variable de conteo
- 4. Cómo depurar "¿Encontré dos representaciones de la misma colección"?
- 5. ¿Por qué recibo la advertencia "LoaderLock was detected" al depurar?
- 6. ¿Cómo puedo "ejecutar hasta que esta variable cambie" al depurar?
- 7. Variable de iteración de tipo diferente de la colección?
- 8. ¿Qué hace la bandera permisiva?
- 9. ¿Qué hace $ al usar JQuery?
- 10. jQuery: ¿Por qué anteponer un $ al nombre de la variable?
- 11. ¿Qué hace la función invisible()?
- 12. ¿Qué hace la copia hg?
- 13. ¿Qué hace la macro Q_D en Qt
- 14. ¿Qué hace la instrucción movsbl?
- 15. ¿Qué hace la directiva de uso, exactamente?
- 16. Render parcial: Colección => @array especificar nombre de la variable
- 17. ¿Qué es la variable de entorno HTTP_AUTHORIZATION?
- 18. ¿Cómo tratar la covarianza al devolver la colección en C#?
- 19. mongoengine- qué hace la tienda del campo de referencia
- 20. Conversión de la colección observable a la colección normal
- 21. La referencia desaparece al depurar/compilar (C#, VB.NET, VS2010)
- 22. Entradas de conteo en la vista XPages
- 23. ¿Qué hace la bandera del enlazador -toda_carga?
- 24. ¿Qué hace Casandra durante la compactación?
- 25. ¿Qué hace (vacío) el 'nombre de variable' al comienzo de una función C?
- 26. ¿Qué hace la instrucción de ensamblaje LEAL?
- 27. ¿Qué hace la instrucción de montaje ORG?
- 28. ¿Qué hace la función cvWaitKey() de OpenCV?
- 29. ¿Qué hace la evaluación de Python()?
- 30. ¿Qué hace la función de php 'sobrecarga'?
gracias por esta explicación muy buena. Sabía que hizo algo como esto, pero no detalló – moeTi
Muy buena explicación. Ahora tiene sentido. –
código: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#ArrayList.ListItr – roottraveller