Heim >häufiges Problem >Was sind die Unterschiede zwischen Heap und Stack?

Was sind die Unterschiede zwischen Heap und Stack?

清浅
清浅Original
2019-04-02 17:01:56152545Durchsuche

Die Unterschiede zwischen Heap und Stack sind: 1. Der Stack wird automatisch vom System zugewiesen, während der Heap manuell geöffnet wird. 2. Der vom Stack erhaltene Speicherplatz ist kleiner, während der vom Heap erhaltene Speicherplatz kleiner ist ist größer; 3. Der Stapel wird vom System automatisch zugewiesen, während der Heap im Allgemeinen langsamer ist. 4. Der Stapel ist ein kontinuierlicher Raum, während der Heap ein diskontinuierlicher Raum ist.

Was sind die Unterschiede zwischen Heap und Stack?

Der Unterschied zwischen Heap und Stack

Es gibt fünf Hauptunterschiede zwischen Heap und Stack:

1. Verschiedene Anwendungsmethoden. Der Stapel wird automatisch vom System zugewiesen, während der Heap manuell über die Anwendung geöffnet wird.

2. Die Anwendungsgröße ist unterschiedlich. Der vom Stapel erhaltene Speicherplatz ist kleiner, während der vom Heap erhaltene Speicherplatz größer ist;

3. Der Unterschied in der Anwendungseffizienz. Der Stapel wird vom System automatisch zugewiesen und ist schneller, während der Heap im Allgemeinen langsamer ist.

4. Wenn eine Funktion auf dem Stapel aufgerufen wird, wird zuerst die Adresse der nächsten ausführbaren Anweisung in der Funktionsaufrufanweisung auf den Stapel verschoben, und dann werden alle Parameter der Funktion auf den Stapel verschoben. Statische Variablen werden nicht auf den Stapel verschoben. Der Heap verwendet im Allgemeinen ein Byte, um die Größe des Heaps im Header zu speichern, und der spezifische Inhalt im Heap wird künstlich angeordnet.

5 Die unterste Ebene ist unterschiedlich. Der Stapel ist ein kontinuierlicher Raum, während der Heap ein diskontinuierlicher Raum ist.

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen Heap und Stack?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist MQNächster Artikel:Was ist MQ