Der Unterschied zwischen Java Stack und Haufen
1. Der Müllsammlermechanismus wirkt nur auf das Heap -Speicher und hat nichts mit Stapelgedächtnis zu tun.
2. Stack: Der Stapel ist schneller zugänglich als der Haufen und hat eine hohe Effizienz, um Referenzwerte lokaler Variablen und Objekte zu sparen.
3. Haufen: Sparen Sie größere Variablen
V.
Wenn der Compiler int a = 3 verarbeitet, erstellt er zunächst einen Verweis auf die Variable A im Stapel und findet dann heraus, ob der Wert 3 im Stapel vorhanden ist. Wenn es nicht existiert, wird 3 gespeichert;
Gleiches gilt für die Verarbeitung von B = 3, da 3 zuvor eingespeichert wurde, sodass der Compiler nur die von B bis 3 erstellte Variable richten muss (was dem Sparen von Raum förderlich ist).
Zu diesem Zeitpunkt verweisen A und B gleichzeitig auf 3, aber es wirkt sich nicht auf ihre Verwendung aus. Wenn a = 4; Es wird zu diesem Zeitpunkt definiert, 4 muss im Speicher gespeichert werden, der von einem auf 4 vermerkt ist, und die Änderung eines Wertes hat den Wert nicht auf den Wert b.
Speicherabteilung: 1, Register. 2. Lokaler Methodenbereich. 3. Methodenbereich. 4. Stapelspeicher. Alle gespeicherten lokalen Variablen. Sobald der Umfang, zu dem die Variable gehört, beendet ist, wird die Variable automatisch freigegeben. 5. Heap -Speicher. Speicher ist ein Array und ein Objekt (tatsächlich ist ein Array ein Objekt). Jedes Neue wird auf dem Haufen gebaut. Merkmale: 1. Jede Entität hat einen Eigenwert zu Hause. 2. Jede Variable im Heap -Speicher hat einen Standardinitialisierungswert, der je nach Typ variiert. Die Ganzzahl ist 0, Dezimal 0,0 oder 0,0F, boolean False char '/u0000' 3, Mülleimermechanismus.
Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!