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

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

Java Θεωρία & Πράξη : Συλλογή σκουπιδιών στην 1.4.1 JVM

Προγραμματιστές Java δημιουργήθηκε με δύο πρωταρχικούς στόχους στο μυαλό . Πρώτον , να δημιουργήσει μια γλώσσα προγραμματισμού χτισμένο εξ ολοκλήρου μετά από ένα αντικείμενο - oriented paradigm . Δεύτερον , για να κάνουν το τρέξιμο Java γλώσσα στην κορυφή της Java Virtual Machine ( JVM ) διασφαλίζοντας με φορητότητα πλατφόρμα . Επειδή η Java έτρεξε στη JVM και δεν επικοινωνούν απευθείας με το υλικό , το JVM θα μπορούσε να διαχειριστεί πολλά από τα προβλήματα που συνδέονται με αντικειμενοστραφή προγραμματισμό , δηλαδή τη διαχείριση της μνήμης . Η διαδικασία μέσω της οποίας η JVM χειρισμός μνήμης ονομάζεται " συλλογή σκουπιδιών . " Για να κατανοήσουμε τη συλλογή , ένας προγραμματιστής πρέπει να κατανοήσουν έννοιες του προγραμματισμού object-oriented , συμπεριλαμβανομένων πώς γίνεται η διαχείριση της μνήμης . Object - Oriented Programming
Η

Αντικειμενοστραφής προγραμματισμός ( OOP ) αντιπροσωπεύει ένα παράδειγμα του προγραμματισμού στην οποία προγραμματιστές να δημιουργήσουν τα δεδομένα " αντικείμενα " ως μέρος του κώδικά τους . Προγραμματιστές χρησιμοποιούν αυτά τα αντικείμενα να εκπροσωπεί σύνθετων τύπων δεδομένων που περιέχουν τόσο μια κατάσταση και παρουσιάζουν ορισμένες συμπεριφορές . Έτσι , για παράδειγμα , ένας προγραμματιστής δημιουργεί μια τάξη " Σφαίρα " για ένα πρόγραμμα που κάνει την εργασία που αφορούν τους υπολογισμούς των σφαιρών . Η κλάση Sphere μπορεί να περιέχουν δεδομένα για μια ακτίνα ( κατάσταση) και μια λειτουργία για να υπολογίσει το δικό του χώρο ( η συμπεριφορά του) .
Εικόνων αντικείμενα και μνήμης
Η

δύο Java και C + + είναι OOP γλώσσες . Ωστόσο , η διαφορά μεταξύ των δύο καταδεικνύει την ανάγκη για τη συλλογή απορριμμάτων σε Java . Στη C + + , ένας προγραμματιστής ασχολείται άμεσα με το λειτουργικό σύστημα . Αυτό σημαίνει ότι όταν ένας προγραμματιστής επιθυμεί να δημιουργήσει ένα αντικείμενο , μπορεί να κάνει ένα από τα δύο πράγματα . Πρώτον , μπορούμε να δημιουργήσουμε μια " ρηχή " αντίγραφο κατά τη διάρκεια της διαδικασίας κωδικοποίησης . Δεύτερον , και πιο συχνά , μπορεί να γράψει κώδικα που δημιουργεί αντικείμενα δυναμικά σε " βαθιά " μνήμης κατά την εκτέλεση κώδικα μέσω της χρήσης « δείκτες ».

Η Δείκτες και Μνήμη Διαρροές

ένα C + + πρόγραμμα χρησιμοποιεί δείκτες για την κατανομή της μνήμης κατά την εκτέλεση του κώδικα . Ένα " pointer" περιέχει μια αναφορά σε μια θέση μνήμης . Όταν ένας προγραμματιστής πρέπει να σχεδιάσει κώδικα που δημιουργεί αντικείμενα κατά το χρόνο εκτέλεσης , χρησιμοποιεί δείκτες για την αναφορά μνήμης για να διατεθεί για τη δημιουργία αντικειμένων . Αυτό δείκτης είναι τότε το μόνο πράγμα που αναφέρεται σε αυτό το αντικείμενο . Σε περίπτωση που το πρόγραμμα να μετακινήσετε το δείκτη αναφοράς κατά τη διάρκεια της εκτέλεσης , το αντικείμενο " επεσήμανε« δεν μπορεί πλέον να χρησιμοποιηθεί . Είναι απλά κάθεται στη μνήμη με κανένα τρόπο να έχουν πρόσβαση . Όταν πρόκειται για μεγάλες ποσότητες αντικειμένων που δημιουργούνται μέσω δείκτες και αριστερά στη μνήμη λόγω της απώλειας του δείκτη αναφοράς , αυτό είναι γνωστό ως « διαρροή μνήμης » και μπορεί να προκαλέσει σοβαρά προβλήματα σε ένα πρόγραμμα .
Εικόνων Garbage Collection

στην C + + , η ευθύνη της διαχείρισης της μνήμης και την πρόληψη των διαρροών μνήμης πέφτει ξεκάθαρα στον προγραμματιστή. Η γλώσσα Java , σε αντίθεση με C + + , τρέχει στο JVM , που αντλείται από το λειτουργικό σύστημα . Εξαιτίας αυτού , ο προγραμματιστής μπορεί να αγνοήσει τη διαχείριση της μνήμης του συστήματος , όσον αφορά τα αντικείμενα . Αντίθετα , η JVM κρατά καρτέλες για τα υπάρχοντα αντικείμενα και τις αναφορές , και διαγράφει αυτές που δεν είναι πλέον σε χρήση . Με αυτό τον τρόπο , το έργο της διαχείρισης της μνήμης πέφτει στο JVM , και ο προγραμματιστής μπορεί να εργαστεί σε διάφορα καθήκοντα , ενώ την πεποίθηση ότι η διαχείριση μνήμης έχει ληφθεί μέριμνα .
Εικόνων Συλλογή απορριμμάτων και την 1.4.1 JVM

Η έκδοση της JVM 1.4.1 προσφέρει ένα μοντέλο για τη συλλογή απορριμμάτων . Η JVM χρησιμοποιεί ένα τμήμα ηλικίας παράδειγμα , ότι " νέους " αντικείμενα και «παλαιών» αντικείμενα υπάρχει στη μνήμη . Η JVM μπορεί να προωθήσει τους νέους αντικείμενα σε παλιά αντικείμενα με βάση το πόσο συχνά οι νέοι αντικείμενα αντιγράφονται κατά τη διάρκεια της εκτέλεσης του προγράμματος . Παλιά αντικείμενα , στη συνέχεια , θεωρούνται σημαντικά και , ως εκ τούτου , δεν σημειώνονται για διαγραφή. Το σύστημα 1.4.1 JVM συλλογή σκουπιδιών χρησιμοποιεί μια μέθοδο «τρένο» συλλογής /διαγραφή , επιτρέποντας την αύξηση μικρή συλλογή σκουπιδιών περνά όχι μεγαλύτερες , πιο αργή συλλογές . Επίσης , η JVM 1.4.1 εκμεταλλεύεται πολυ συστημάτων , προσφέροντας ταυτόχρονη συλλογή των απορριμμάτων σε πολλαπλούς επεξεργαστές .
Η
εικόνων

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

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