Durante il debug di codice Java con Eclipse, per le variabili di raccolta, ho visto il membro modcount
. Cosa significa?Definizione della variabile modcount durante il debug della raccolta
risposta
Molte delle raccolte Java producono iteratori "fail-fast", il che significa che se la raccolta viene modificata dopo la creazione di un iteratore, l'iteratore verrà invalidato e verrà lanciato un ConcurrentModificationException
non appena possibile. (Rispetto a fallire successivamente o restituire dati non validi.)
Per supportare questa funzionalità, la raccolta deve tenere traccia di se è stata modificata. Ogni volta che la raccolta viene modificata, incrementa modcount
. Quando la raccolta produce un iteratore, l'iteratore memorizza il valore di modcount
da quando è stato creato. Quindi, ogni volta che si tenta di utilizzare l'iteratore, controlla se il file salvato è modcount
diverso dall'attuale modcount
della raccolta principale; se lo è, l'iteratore ha esito negativo con uno ConcurrentModificationException
.
(Un'eccezione a questa regola è che le modifiche alla raccolta effettuata tramite l'iteratore stesso (come il metodo del iteratore remove
) non invalidano l'iteratore.)
- 1. Definizione della funzione o definizione della variabile?
- 2. Rubino definizione della variabile
- 3. eclissi - cerca il valore della variabile durante il debug
- 4. Visualizzazione della versione estesa della sorgente durante il debug
- 5. Definizione della dimensione dell'array usando la variabile
- 6. Riferimento catturato nella definizione della variabile statica
- 7. Conversione della raccolta osservabile nella raccolta regolare
- 8. definizione della macro all'interno della definizione di struct
- 9. Modifica sfondo finestra hover variabile durante il debug su Eclipse
- 10. C vs C++ switch definizione della variabile vs dichiarazione
- 11. ProGuard: definizione duplicata della classe della libreria?
- 12. L'istruzione goto non può attraversare la definizione della variabile?
- 13. È possibile una variabile vincolante per un elemento della raccolta
- 14. Spiegazione della definizione della libreria RequireJS
- 15. Laravel modifica la variabile all'interno del filtro della raccolta
- 16. definizione della nuova variabile all'interno del modello jquery
- 17. PHP: 'uso' all'interno della definizione della classe
- 18. Sospensione dell'eliminazione degli orfani durante l'aggiornamento della raccolta
- 19. xcode 3.2.2 e objective-c 2.0 e debug: dove sono i valori della proprietà/istanza della variabile dell'oggetto nel debug?
- 20. Modificare il nome della raccolta in mongodb
- 21. Ottenere il nome della variabile per NullReferenceException
- 22. Definizione della funzione membro di classe esplicitamente specializzata al di fuori della definizione della classe
- 23. Impossibile visualizzare il contenuto finale della variabile nella classe anonima durante il debug in Eclipse un'app per Android
- 24. GCC definizione della funzione fastcall
- 25. modifica raccolta prima della pubblicazione
- 26. Definizione della dimensione di CLOB in Oracle
- 27. Visual Studio 2013 valore di variabile errato durante il debug
- 28. Definizione della stringa costante in Java?
- 29. Visual Studio durante il debug: la valutazione della funzione richiede l'esecuzione di tutti i thread
- 30. PHP - Variabile all'interno della variabile?
grazie per questo davvero buona spiegazione. Sapevo che faceva qualcosa di simile, ma non dettagliato – moeTi
Ottima spiegazione. Ora ha senso. Codice –
: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#ArrayList.ListItr – roottraveller