Was ist ein Heap & Stack in Java?

Java ist eine Programmiersprache, die hauptsächlich dazu dient, kleine Programme bereitzustellen, um die Funktionen von Webseiten und die Browser, in denen sie angezeigt werden, zu erweitern. "Heap" und "Stack" sind zwei Möglichkeiten, um den Arbeitsspeicher in einem Computer zu organisieren, und die Java-Programmiersprache verwendet beide.

Haufen

Der Speicher ist in der Reihenfolge organisiert, in der auf ihn zugegriffen wird. Heap-Speicher hat keine Reihenfolge. Es ist wie eine Reihe von Taubenlöchern ohne Reihenfolge der Verwendung - ein Schlitz in der Mitte könnte einen Wert vor dem ersten oder letzten Schlitz erhalten. Wenn Daten in verschiedene Steckplätze geschrieben und aus diesen gelöscht werden, wird der belegte Speicher nach Lücken aufgeteilt. Jeder Steckplatz im Heap-Speicher hat eine Adresse, auf die nur über eine andere Form der Indizierung zu dieser Adresse zugegriffen werden kann.

Stapel

Stapel und Warteschlangen haben eine genaue Reihenfolge. In einer Warteschlange sind die ersten Daten, die Sie eingeben müssen, die ersten Daten, genau wie eine Warteschlange an einer Supermarktkasse. Die Stack-Methode wäre äußerst unfair, wenn sie auf Personen angewandt werden würde, die auf einen Dienst warten, da der letzte Eintrag der erste ist. Stacks sind unter dem Akronym LIFO bekannt und stehen für Last In, First Out. Stellen Sie sich ein Ablagefach in einem Büro vor. Jemand legt eine Datei oben in die In-Ablage ein, und ein Büroangestellter nimmt diese Datei von oben in die In-Ablage und bearbeitet diese zuerst. Dies war die letzte Datei, die in das Fach gelegt wurde. So arbeitet ein Stack.

Computerspeicher

Computerspeicher, der zum Ausführen eines Programms verwendet wird, wird als Random Access Memory oder RAM bezeichnet. Dies ist der Denkraum des Computers, der in drei Abschnitte unterteilt ist. Es gibt keinen "Warteschlangen" -Abschnitt des Speichers, aber es gibt ein Codesegment, in dem das Computerprogramm gespeichert ist. Der Computer arbeitet zeilenweise durch das Programm, und dies wirkt wie eine Warteschlange. Die anderen beiden Bereiche sind Stack und Heap.

Variablen

Wie jede andere Programmiersprache muss auch Java Daten enthalten und auf irgendeine Weise manipulieren. Das in Programmen zum Speichern von Daten verwendete Fahrzeug wird als Variable bezeichnet. Eine Variable hat einen Namen und einen Typ und erhält dann einen Wert. Java-Programme verweisen auf den Namen der Variablen, um auf die darin enthaltenen Daten zuzugreifen.

Beziehung

Wenn ein Programmierer eine Variable mit einem Datentyp deklariert, werden diese Informationen im Stapelbereich des Speichers gespeichert. Wenn ein Wert in diese Variable eingegeben wird, wird der Wert im Heap-Speicher gespeichert. Der Stapelspeicher enthält die Adresse für den Abschnitt des Heap-Speichers, in dem dieser Wert gespeichert ist. Der Stackspeicher behält seinen Wert für die Dauer des Programmlaufs bei. Es behält den Variablennamen und -typ sowie einen Zeiger auf den Heapspeicherort. Der Wert im Heap-Speicher wird im Verlauf des Java-Programms mehrmals gelöscht und neu geschrieben, da Programmoperatoren den Wert der Variablen ändern.

Beliebte Beiträge