Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Γιατί είναι Java Strings Αμετάβλητος

; Οι προγραμματιστές της Java σχεδιαστεί για την κατηγορία " String " ως προαπαιτούμενο αντικείμενο . « Αμετάβλητος " σημαίνει ότι η αξία της τάξης δεν μπορεί να αλλάξει μία φορά ο προγραμματιστής instantiates το αντικείμενο . Ενώ φαίνεται χρήσιμο να χρησιμοποιείτε πάντα ένα αντικείμενο String που έχει μια μεταβλητή τιμή , μερικοί λόγοι εξηγούν γιατί αυτό δεν είναι η περίπτωση . Αμετάβλητος χορδές προσφέρονται για χρήση σε multi-threaded προγράμματα , την αύξηση της ασφάλειας του προγράμματος , την ελαχιστοποίηση της χρήσης της μνήμης , και θα λειτουργεί καλύτερα ως αξίες στις δομές δεδομένων, όπως hashtables . Οι χορδές σε multi-threaded προγράμματα
Η

Προγράμματα που ονομάζεται multi -threaded όταν αναπαράγονται αυτό που είναι γνωστό ως "νήματα" που τρέχουν κώδικα ταυτόχρονα . Όταν ένα πρόγραμμα γεννά πολλαπλά threads , αυτά τα θέματα που συχνά εργάζονται για τις ίδιες μεταβλητές σε διαφορετικές χρονικές στιγμές . Ο κίνδυνος είναι όταν δύο νήματα μοιράζονται μια μεταβλητή , και ένα νήμα αλλάζει την αξία του , ενώ ο δεύτερος εξακολουθεί να χρησιμοποιεί . Ένα «κλείδωμα» του μηχανισμού φύλακες συνήθως μεταβλητές σε καταστάσεις threading. Με μια σειρά αμετάβλητη , ωστόσο , ένα νήμα που δεν ασχολείται με την τιμή της μεταβλητής .
Εικόνων Ενημέρωση ασφαλείας

Το αμετάβλητο του χορδές βοηθά επίσης με ορισμένες ανησυχίες για την ασφάλεια . Όταν ένας χρήστης εισάγει τα στοιχεία σύνδεσης σε ένα δικτυακό τόπο , είναι θεωρητικά δυνατό για να αλλάξει την αξία του από το όνομα χρήστη ή τον κωδικό πρόσβασης σειρά πριν να περάσει στο σύστημα . Αν συμβεί αυτό, τότε ο χρήστης μπορεί να εισφέρει κακόβουλο κώδικα στο σύστημα αυτός ή αυτή είναι να συνδεθείτε στο . Δεδομένου ότι οι χορδές είναι αμετάβλητος, ωστόσο , αυτό δεν είναι δυνατό .

Η Ελαχιστοποίηση χρήσης μνήμης
Η

Όταν ένας προγραμματιστής δημιουργεί ένα αντικείμενο string , το αντικείμενο βρίσκεται σε ένα σταθερό σημείο στη μνήμη , και το όνομα της μεταβλητής χρησιμεύει ως της «αναφοράς ». Επειδή η αναφορά στη μνήμη και τι η μνήμη περιέχει είναι δύο ξεχωριστά πράγματα , αυτό σημαίνει ότι άλλα ονόματα μεταβλητών μπορούν επίσης να αναφέρονται στην ίδια θέση μνήμης . Έτσι, όταν απαιτούνται αντίγραφα μιας συμβολοσειράς , διαφορετικές μεταβλητές μπορούν να αναφέρονται στην ίδια αμετάβλητη string, και δεδομένου ότι δεν θα αλλάξει , δεν έχουν καμία ανάγκη να δημιουργήσει αντίγραφα του ίδιου χορδή .
Εικόνων Χρήση σε Δομές Δεδομένων Hashtable οι
Η

hashtables ονομάζεται " λεξικά " επειδή χρησιμοποιούν ζεύγη λέξεων-κλειδιών αξία για να κάνει την αναζήτηση της δομής δεδομένων ευκολότερη . Χορδές αναφορά συνήθως μια τιμή ( όπως "name " = > " Robert" ή "ηλικία" = > 25 ) . Δεδομένου ότι οι χορδές είναι αμετάβλητος , ένας προγραμματιστής δεν χρειάζεται να ανησυχούν για τη λέξη-κλειδί της αξίας αλλάζει , και να χάσει την πρόσβαση σε αυτή την τιμή .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα