Eclipseを使用してJavaコードをデバッグするとき、コレクション変数のためにmodcount
メンバーが見えました。どういう意味ですか?コレクションをデバッグするときにmodcount変数とは何か
9
A
答えて
31
Javaのコレクションの多くは、「フェイル・ファースト」なイテレータを生成します。つまり、イテレータが作成された後にコレクションが変更されると、イテレータは無効化され、できるだけ早くConcurrentModificationException
をスローします。 (後で失敗するか無効なデータを返すと比較して)
この機能をサポートするために、コレクションは変更されたかどうかを追跡する必要があります。コレクションが変更されるたびに、modcount
がインクリメントされます。コレクションでイテレータが生成されると、イテレータは作成されたときの値modcount
を格納します。次に、イテレータを使用しようとするたびに、保存されたmodcount
が親コレクションの現在のmodcount
と異なるかどうかを確認します。そうであれば、反復子はConcurrentModificationException
で失敗します。
(この規則の例外は、イテレータのremove
方法などのイテレータ自体()を介して行われ、コレクションへの変更はイテレータを無効にしないことです。)これは本当に良い説明のため
関連する問題
- 1. は、私は、変数とコレクションをフィルタリングすることができない変数
- 2. 特にデバッグとは何ですか?
- 3. Xcodeデバッグ変数ビューでvariable.storageとは何を意味していますか?
- 4. デバッグ情報とは何ですか?
- 5. AndroidStudio:「デバッグ可能」とは何ですか?
- 6. 変数テンプレートとは正確に何か
- 7. eexテンプレートと@変数のデバッグ方法は?
- 8. ループ変数クロージャとは何ですか?
- 9. ノックアウトカスタムバインディング "after"変数とは何ですか?
- 10. 自由変数とは何ですか?
- 11. 「フリー変数」とは何ですか?
- 12. フラグ変数とは何ですか?
- 13. vimの@@変数とは何ですか?
- 14. モデル(変数)とは何ですか?
- 15. ソフト変数とは何ですか?
- 16. カーソル変数.deleteとは何ですか?
- 17. 匿名変数とは何ですか?
- 18. 変数を宣言するときに ""と "'と()を使用する違いは何ですか?
- 19. デバッグ/ステッピングで変数を調べるときに機能評価がタイムアウトする
- 20. Hibernateのバッグとリストの違いは何ですか?コレクションをマッピングするときに休止状態に
- 21. Xcodeでデバッグ中にBOOL値を変更することはできますか?
- 22. 変数がフィールドに変更されたときに、スタックをヒープに変更するプロセスは何ですか?
- 23. IntelliJ IDEAでスカラーコードをデバッグするときに変数が表示されない
- 24. データ型変数と変数V2の違いは何ですか?
- 25. JavaScriptのグローバル変数とウィンドウ変数は何ですか?
- 26. Volatile変数とAtomic変数の違いは何ですか?
- 27. 自動変数とレジスタ変数は何ですか?
- 28. クラス変数とグローバル変数の違いは何ですか?
- 29. definePlugin変数とenv変数の違いは何ですか?
- 30. Laravel、平均変数$ appとは何か
感謝。私はそれがこのような何かを知っていたが、詳細ではない – moeTi
非常に良い説明。今は理にかなっています。 –
コード:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#ArrayList.ListItr – roottraveller