Όταν εργάζεστε με Java, κανονικά με μικρά έργα, δεν χρειάζεται να ανησυχείτε για το μνήμη ότι έχετε διαθέσιμο ή αν χρησιμοποιείτε. Αλλά εκεί έρχεται μια στιγμή που το έργο είναι Χονδρική πώληση και τις ανάγκες των μνήμη του ίδιου αύξηση, και δεν συνήθως το πράξει γραμμική.
Είναι, όπως είναι το πρόγραμμα στο οποίο είστε, Είναι πάντα βολικό να κάνετε μια καλή διαχείριση από το μνήμη και, στο μέτρο του δυνατού, Καταργήστε τις αναφορές Δεν πρόκειται να χρησιμοποιηθεί, που επιτρέπει την συλλογή απορριφθέντων στοιχείων απελευθέρωση των πόρων του ίδιου.
Ακόμη και τη λήψη μιας καλό έλεγχο του διαφορετικές μεταβλητές και αντικείμενα του έργου σας, Είναι καλό να γνωρίζουμε σε ποιο βαθμό επηρεάζουν ορισμένες καταστάσεις να τις πολύτιμος πόρος μνήμη. Για να γίνει αυτό, Θα εξηγήσουμε πώς μπορούμε να δούμε το ελεύθερη μνήμη, χρησιμοποιούνται, σύνολο και μέγιστη το περιβάλλον του Java Virtual machine Ενώ λειτουργεί ο κώδικάς μας.
Για να γίνει αυτό, Θα κάνουμε χρήση της την το περιβάλλον χρόνου εκτέλεσης της εφαρμογής, να πάρει το ήθελε δεδομένων. Σας παρουσιάζουμε τα εξής Κωδικός για παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 | public static void main (String args[]){ int dataSize = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println ("Memoria máxima: " + runtime.maxMemory() / dataSize + "MB"); System.out.println ("Memoria total: " + runtime.totalMemory() / dataSize + "MB"); System.out.println ("Memoria libre: " + runtime.freeMemory() / dataSize + "MB"); System.out.println ("Memoria usada: " + (runtime.totalMemory() - runtime.freeMemory()) / dataSize + "MB"); } |
Όπως μπορείτε να δείτε τον κωδικό, το πρώτο που κάνουμε είναι μας δημιουργεί μια μεταβλητή Τύπος ακέραιος αριθμός με τιμή 1024 * 1024, ή τι είναι το ίδιο, 1 MB. Όπως η μνήμη πρόκειται να έρθει σε bytes, να το Διαιρέστε τον από αυτήν τη μεταβλητή του αποτέλεσμα Εμείς θα εμφανιστεί σε ΜΒ.
Εν συνεχεία, Μπορούμε να εκχωρήσουμε σε μεταβλητή Κατά το χρόνο εκτέλεσης το τρέχον περιβάλλον εκτέλεσης εφαρμογών, τότε, εκτύπωση από την κονσόλα τα δεδομένα που ανήκουν στην διαφορετικές τιμές του μνήμη ήθελε:
- runtime.maxMemory() – Αποκτά τη μνήμη μέγιστη.
- runtime.totalMemory() – Αποκτά τη μνήμη σύνολο.
- runtime.freeMemory() – Αποκτά τη μνήμη δωρεάν.
Για να λάβετε την τιμή της μνήμη Αυτή τη στιγμή χρησιμοποιούνται απλά θα αφαιρέσει, στη μνήμη σύνολο, μνήμη δωρεάν.
Με αυτόν τον τρόπο, σε οποιαδήποτε στιγμή κατά την εκτέλεση της εφαρμογής σας, Μπορείτε να έχετε αρχείο από το ποσότητα μνήμης οποία σε ορισμένες περιπτώσεις μπορεί να επιτευχθεί στο καταναλώνουν τον κωδικό σας.