Bei der Arbeit mit Java, normalerweise mit kleine Projekte, kein Grund zur Sorge für die Speicher dass Sie zur Verfügung haben oder dass Sie verwenden. Aber es kommt eine Zeit, in der das Projekt ist Großhandel und den Bedürfnissen der Speicher der gleichen erhöhen, und nicht neigt dazu, seinen Weg zu machen linear.
Was immer es ist das Projekt, in dem du bist, immer bequem zu ausführen ist ein gutes management von der Speicher und, soweit wie möglich, Entfernen Sie Verweise Ich werden nicht verwendet werden, so dass die Garbage collector die Ressourcen des gleichen freigeben.
Selbst wenn man eine gute Kontrolle die verschiedenen Variablen und Objekte in Ihrem Projekt, Es ist gut zu wissen, in welchem Umfang bestimmte Situationen beeinflussen die kostbare Ressource Speicher. Dazu, Wie wir sehen können, erklären wir Ihnen die freier Speicher, verwendet, insgesamt und maximale die Umgebung der Java virtuelle Maschine Während unser Code läuft.
Dazu, Wir sind gonna make nutzen die Umfeld der Ausführung der Anwendung, die Daten in der gleichen gesucht. Sie zeigen, was wir in den nächsten Code zum Beispiel:
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"); } |
Wie Sie im Code sehen können, das erste, was wir tun ist Erstellen Sie eine variable vom Typ Ganzzahl mit einem Wert von 1024 * 1024, oder was dasselbe ist, 1 MB. Wie des Speichers gonna wir come in Byte, zu den Teilen Sie die durch diese Variable den Ergebnis sind, zeigen wir in Megabyte.
Anschließend, die Variablen zuweisen Common Language Runtime das Umfeld der Ausführung der aktuellen Anwendung, zu handeln, gefolgt, Print-Konsole die zu ihnen gehörenden Daten unterschiedliche Werte der Speicher wollte:
- runtime.maxMemory() – Ruft die Erinnerung maximale.
- runtime.totalMemory() – Ruft die Erinnerung insgesamt.
- runtime.freeMemory() – Ruft die Erinnerung kostenlos.
Zum Abrufen des Werts von der Speicher aktuell verwendet einfach wird subtrahieren, in den Speicher insgesamt, Speicher kostenlos.
Auf diese Weise, in jeder Zeit bei der Ausführung Ihrer Anwendung, Sie können Aufzeichnungen darüber haben. Größe des Arbeitsspeichers unter bestimmten Umständen zu erreichen verbrauchen Ihr code.