2024 Συγγραφέας: Elizabeth Oswald | [email protected]. Τελευταία τροποποίηση: 2024-01-13 00:05
Η εξαίρεση ταυτόχρονης τροποποίησης προκύπτει όταν ένα αντικείμενο επιχειρείται να τροποποιηθεί ταυτόχρονα όταν δεν είναι επιτρεπτό. Αυτή η εξαίρεση έρχεται συνήθως όταν κάποιος εργάζεται με κλάσεις Java Collection. Για παράδειγμα - Δεν επιτρέπεται ένα νήμα να τροποποιεί μια Συλλογή όταν κάποιο άλλο νήμα επαναλαμβάνεται από πάνω της.
Πώς μπορώ να διορθώσω την εξαίρεση ταυτόχρονης τροποποίησης;
Μπορούμε επίσης να αποφύγουμε την εξαίρεση ταυτόχρονης τροποποίησης σε ένα περιβάλλον μονού νήματος. Μπορούμε να χρησιμοποιήσουμε τη μέθοδο αφαίρεσης του Iterator για να αφαιρέσουμε το αντικείμενο από το υποκείμενο αντικείμενο συλλογής. Αλλά σε αυτήν την περίπτωση, μπορείτε να αφαιρέσετε μόνο το ίδιο αντικείμενο και όχι οποιοδήποτε άλλο αντικείμενο από τη λίστα.
Πώς αποτρέπετε την εξαίρεση ταυτόχρονης τροποποίησης σε έναν χάρτη;
χρησιμοποιήστε ConcurrentHashMap. συνεχίστε να χρησιμοποιείτε το απλό HashMap, αλλά δημιουργήστε έναν νέο χάρτη σε κάθε τροποποίηση και αλλάξτε χάρτες στα παρασκήνια (συγχρονίζοντας τη λειτουργία διακόπτη ή χρησιμοποιώντας AtomicReference)
Ποια μέθοδος επαναλήπτη δημιουργεί εξαίρεση ταυτόχρονης τροποποίησης;
Αν καλέσουμε μια ακολουθία μεθόδων σε ένα αντικείμενο που παραβιάζει τη σύμβασή του, τότε το αντικείμενο ρίχνει ConcurrentModificationException. Για παράδειγμα: εάν κατά την επανάληψη πάνω από τη συλλογή, προσπαθήσουμε απευθείας να τροποποιήσουμε αυτήν τη συλλογή, τότε ο δεδομένος fail-fast iterator θα ρίξει αυτήν την ConcurrentModificationException.
Ποια είναι η εξαίρεση ταυτόχρονης τροποποίησης στην υπερχείλιση στοίβας Java;
Αν ένα μεμονωμένο νήμα εκδίδει μια ακολουθία κλήσεων μεθόδου που παραβιάζει τη σύμβαση ενός αντικειμένου, το αντικείμενο μπορεί να κάνει αυτήν την εξαίρεση. Για παράδειγμα, εάν ένα νήμα τροποποιήσει μια συλλογή απευθείας ενώ επαναλαμβάνει τη συλλογή με έναν επαναλήπτη γρήγορης αποτυχίας, ο επαναλήπτης θα κάνει αυτήν την εξαίρεση.
Συνιστάται:
Γιατί java.lang.outofmemoryerror java heap space;
Το OutOfMemoryError είναι ένα σφάλμα χρόνου εκτέλεσης στην Java που παρουσιάζεται όταν η Java Virtual Machine (JVM) δεν μπορεί να εκχωρήσει ένα αντικείμενο λόγω ανεπαρκούς χώρου στο σωρό Java. … Αυτό το σφάλμα μπορεί επίσης να εμφανιστεί όταν η εγγενής μνήμη είναι ανεπαρκής για να υποστηρίξει τη φόρτωση μιας κλάσης Java.
Χρειάζονται για την επικύρωση μιας συνταγματικής τροποποίησης;
Οι προτεινόμενες τροποποιήσεις πρέπει να επικυρωθούν από τα τα τρία τέταρτα των πολιτειών για να τεθούν σε ισχύ. Το Κογκρέσο μπορεί να ορίσει ένα χρονικό όριο για την κρατική δράση. Η επίσημη καταμέτρηση τηρείται από το Γραφείο του Ομοσπονδιακού Μητρώου στα Εθνικά Αρχεία.
Γιατί εμφανίζεται θείωση στη μπαταρία μολύβδου οξέος;
Η θείωση συμβαίνει μέσα στις μπαταρίες μολύβδου-οξέος όταν ο ηλεκτρολύτης αρχίζει να διασπάται. Καθώς το θειικό οξύ (ηλεκτρολύτης) διασπάται, τα ιόντα θείου γίνονται ελεύθεροι κρύσταλλοι. Αυτοί οι κρύσταλλοι ιόντων θείου κολλάνε στη συνέχεια στις πλάκες μολύβδου της μπαταρίας, σχηματίζοντας έτσι κρυστάλλους θειικού μολύβδου.
Ποια είναι η διαφορά μεταξύ τροποποίησης και επεξεργασίας;
Το "Επεξεργασία" υπονοεί την αλλαγή του "πράγματος" - συνήθως κειμένου - ενώ το "τροποποίηση" είναι ο πιο γενικός όρος που ισχύει για τα πάντα. Μπορεί να βλέπετε περισσότερες επιτυχίες Google για "επεξεργασία"
Για να είναι ένα σύστημα μη ταυτόχρονης δύναμης σε ισορροπία;
Δυνάμεις που δεν τέμνονται σε ένα μόνο σημείο μπορούν να δημιουργήσουν περιστροφή (στιγμή). Η ισορροπία απαιτεί τα αποτελέσματα X και Y να είναι μηδέν ΚΑΙ η συνολική στιγμή να είναι μηδέν. Μπορούν οι μη ταυτόχρονες δυνάμεις να βρίσκονται σε ισορροπία;