The ConcurrentModificationException terjadi ketika sebuah objek dicoba untuk dimodifikasi secara bersamaan ketika tidak diizinkan. Pengecualian ini biasanya muncul ketika seseorang bekerja dengan kelas Java Collection. Sebagai Contoh - Sebuah utas tidak diperbolehkan untuk mengubah Koleksi ketika ada utas lain yang mengulanginya.
Bagaimana cara memperbaiki pengecualian modifikasi bersamaan?
Kami juga dapat menghindari Pengecualian Modifikasi Bersamaan dalam lingkungan berulir tunggal. Kita dapat menggunakan metode hapus Iterator untuk menghapus objek dari objek koleksi yang mendasarinya. Tetapi dalam kasus ini, Anda hanya dapat menghapus objek yang sama dan bukan objek lain dari daftar.
Bagaimana Anda mencegah pengecualian modifikasi bersamaan pada peta?
gunakan ConcurrentHashMap. terus menggunakan HashMap sederhana, tetapi buat peta baru pada setiap modifikasi dan alihkan peta di belakang layar (sinkronisasi operasi sakelar atau gunakan AtomicReference)
Metode iterator mana yang melempar pengecualian modifikasi bersamaan?
Jika kita memanggil urutan metode pada objek yang melanggar kontraknya, maka objek tersebut akan melempar ConcurrentModificationException. Misalnya: jika saat melakukan iterasi pada koleksi, kami langsung mencoba memodifikasi koleksi itu, maka fail-fast iterator yang diberikan akan membuang ConcurrentModificationException ini.
Apa pengecualian modifikasi bersamaan di Java stack overflow?
Jika satu utas mengeluarkan urutan pemanggilan metode yang melanggar kontrak suatu objek, objek dapat membuang pengecualian ini. Misalnya, jika utas memodifikasi koleksi secara langsung saat iterasi di atas koleksi dengan iterator fail-fast, iterator akan membuang pengecualian ini.