Java-Quellcode für eine tragbare und flexible Programmiersprache für Business, Web- und Handheld- Anwendungsentwicklung. Dieser Vorteil der Portabilität kommt einem nicht geringen Teil durch die Java Virtual Machine. Doch die JVM stellt auch ein Tool , dass Programmierer muss verwalten und zu pflegen , um das Beste aus Java-Anwendungen zu erhalten. Insbesondere sind Speicherverbrauch und Heapzuordnung in der JVM Details, die Programmierer würden gut daran tun zu prüfen. Java Virtual Machine
Alle Java-Code läuft auf der Java Virtual Machine. Java-Quellcode wird zunächst in Java kompiliert " Bytecode ", die die JVM übersetzen den Bytecode in maschinenlesbare Befehle ausführt . Um diesen Prozess durchzuführen und erlauben Java die Portabilität es genießt , muss die JVM imitieren ein Computer-System, komplett mit Speicher-und Datenstrukturen , so dass der Quellcode speichern und abrufen können Daten und Befehle . Einer dieser wichtigen Datenstrukturen ist der Haufen .
Die JVM Heap
In Computer-Programmierung verwendet Code-Speicher durch zwei verschiedene interne Strukturen inhärent dem EDV-System . Der "Stack" enthält den gesamten Code für aktuell ausgeführten Funktionen und Befehle , sowie alle lokalen Variablen deklariert . Der " Haufen ", auf der anderen Seite enthält langfristige Daten, die ein Programm für Daten wie komplexe Objekte zuordnen können . Da Java stellt eine vollständig objektorientierte Programmiersprache , die Haufen von wesentlicher Bedeutung. Da Java läuft auf der virtuellen Maschine , muss die virtuelle Maschine selbst enthalten einen Haufen . Durch sie können Programmierer deklarieren und instanziieren Objekten und statischen Variablen .
JVM Speicher und Physikalischer Speicher
Allerdings ist die JVM ein Stück Software , und müssen als solche in der physischen RAM des Host-Computers befinden. Im Wesentlichen besteht die JVM-Heap in einer virtuellen Maschine , die selbst läuft auf dem Speicher einer Maschine und der Maschine benutzt die Datenstrukturen ( wie seine Heap) . Dementsprechend wird der Haufen von der JVM durch die physikalischen Grenzen des Computers die JVM befindet sich auf begrenzt. Dies beinhaltet gleichzeitig laufenden Software-und System-Utilities . Daher hat die JVM-Heap den zusätzlichen Einschränkung der Einhaltung nicht nur auf den physischen Speicher , sondern auch im Wettbewerb mit den Speicherverbrauch von anderen Programmen . Dies wirkt sich auf grundlegende Haufen Attribute , wie potenzielle Größe .
JVM Heap Size
Um Heap-Größe verwalten , kann der Programmierer verändern die Anfangs-und maximale Heap-Größe Attribute die ausführende Instanz der JVM durch die " - Xms " und "- Xmx " flags sind. Wie groß der Haufen wachsen können , hängt von den Einschränkungen des Betriebssystems und laufenden Programme. Eine Faustregel ist, dass Heap-Größe sollte groß genug sein, um zu vermeiden, tauschen Daten aus dem Haufen auf der Festplatte . Und die minimalen und maximalen Größen sollte nie größer sein als der verfügbare Speicher auf dem Host-System .