Lors du débogage du code Java à l'aide d'Eclipse, pour les variables de collection, j'ai vu le membre modcount
. Qu'est-ce que ça veut dire?Que fait la variable modcount lors du débogage de la collection?
Répondre
De nombreuses collections de Java produisent des itérateurs "fail-fast", ce qui signifie que si la collection est modifiée après la création d'un itérateur, l'itérateur sera invalidé et enverra un ConcurrentModificationException
dès que possible. (Par rapport aux échecs de données postérieures ou de retour de données invalides.)
Afin de prendre en charge cette fonctionnalité, la collection doit garder une trace si elle a été modifiée. Chaque fois que la collection est modifiée, elle est incrémentée de modcount
. Lorsque la collection produit un itérateur, l'itérateur stocke la valeur de modcount
à partir de sa création. Ensuite, chaque fois que vous essayez d'utiliser l'itérateur, il vérifie si son modcount
enregistré est différent du modcount
actuel de la collection parente; si c'est le cas, l'itérateur échoue avec un ConcurrentModificationException
.
(Une exception à cette règle est que les modifications à la collection faite par l'itérateur lui-même (comme méthode remove
du iterator) ne remettent pas en cause l'itérateur.)
- 1. Que fait "render @collection"?
- 2. Lire la variable d'environnement lors du débogage dans MonoDevelop
- 3. Java Modcount (ArrayList)
- 4. Syntaxe .Net - que fait "=>" lors du filtrage de texte dans une collection?
- 5. Est-ce que quelqu'un fait du débogage visuel avec Jint?
- 6. LINQ Query à la volée évaluation lors du débogage
- 7. que fait SVN lors de la fusion de fichiers ajoutés?
- 8. Voir où la valeur de variable est définie lors du débogage dans Eclipse
- 9. Que fait la macro suivante?
- 10. Lors du débogage dans Xcode, que signifie "hors portée"?
- 11. Que fait {variable} dans flex
- 12. Erreur lors du débogage
- 13. signaux lors du débogage
- 14. Erreur lors du débogage
- 15. Lors de l'appel de _validateParams, que fait la propriété facultative?
- 16. La variable fait référence à lui-même
- 17. EXC_BAD_ACCESS lors du débogage
- 18. Flush de BufferedWriter ne fonctionne que lors du débogage
- 19. Liaison des erreurs lors de la création du débogage
- 20. Comment "exécuter jusqu'à ce que cette variable change" lors du débogage?
- 21. Delphi App a "pas d'informations de débogage" lors du débogage
- 22. déclaration du répertoire lors de l'utilisation de la collection Afficher
- 23. Que fait VC++ lors du remplissage des champs de bits?
- 24. Ignorer le projet d'installation lors de la génération du débogage
- 25. Erreur lors du débogage de la version release
- 26. Voir macro version étendue de la source lors du débogage
- 27. Empêcher l'exécution de la procédure stockée lors du débogage
- 28. Une erreur s'est produite lors du débogage de la page?
- 29. Débogage lors du débogage dans Visual Studio
- 30. Problème lors du débogage de la culture personnalisée
Merci pour cette très bonne explication. Je savais qu'il a fait quelque chose comme ça, mais pas détaillé – moeTi
Très bonne explication. Cela a maintenant du sens. –
code: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#ArrayList.ListItr – roottraveller