Heim  >  Artikel  >  Backend-Entwicklung  >  Speicherverwaltung in Python

Speicherverwaltung in Python

WBOY
WBOYnach vorne
2023-09-10 21:33:031516Durchsuche

Speicherverwaltung in Python

Das Schreiben von Code, der speichereffizient und schnell in der Ausführung ist, ist das, was sich jeder Entwickler wünscht, wenn er mit einer beliebigen Programmiersprache arbeitet. In Python erfolgt die Speicherzuweisung und -freigabe nicht manuell, da Python über einen Garbage Collector verfügt.

Was ist nun ein Müllsammler?

Müllsammler

Garbage Collection bezieht sich darauf, wie Speicher freigegeben wird, wenn er nicht verwendet wird, und wie er für die Verwendung durch andere Objekte verfügbar gemacht wird. Python löscht Objekte, die nicht mehr verwendet werden. Das nennen wir Garbage Collection. Der Garbage Collector startet die Ausführung des Programms und wird aktiviert, wenn der Referenzzähler auf Null fällt.

Der Garbage Collector von Python läuft während der Programmausführung und wird ausgelöst, wenn der Referenzzähler eines Objekts Null erreicht. Der Referenzzähler eines Objekts ändert sich, wenn sich die Anzahl der darauf verweisenden Aliase ändert.

Jetzt sehen wir uns an, wie Speicher in Python zugewiesen wird -

Statische Speicherzuweisung – Stapel

Bei der statischen Speicherzuweisung wird der Speicher zur Kompilierungszeit zugewiesen. Die Stapeldatenstruktur speichert statischen Speicher.

Ein einfaches Beispiel für die Zuweisung von Speicher auf dem Stapel -

static int x=2;

Dynamische Speicherzuweisung – Heap

Bei der dynamischen Speicherzuweisung wird der Speicher zur Laufzeit zugewiesen. Der Heap speichert dynamischen Speicher. Wenn das Objekt nicht mehr benötigt wird, gibt es den Speicherplatz frei.

Ein einfaches Beispiel, bei dem Speicher auf dem Heap für 2 Ganzzahlen zugewiesen wird -

x = [0]*2

Wie wir oben besprochen haben, startet der Garbage Collector seine Ausführung, wenn das Programm startet, und wird aktiviert, wenn der Referenzzähler auf Null fällt. Mal sehen, was Referenzzählung ist.

Referenzanzahl

Der Python-Garbage Collector startet die Ausführung eines Programms und wird aktiviert, wenn der Referenzzähler auf Null fällt. Mal sehen, wann die Referenzanzahl steigt oder sinkt

Wenn der Referenzzählwert steigt -

  • Wenn ein neuer Name zugewiesen oder in einem Wörterbuch oder Tupel zugewiesen wird, erhöht der Referenzzähler seinen Wert.

  • Wenn wir den Verweis auf das Objekt neu zuweisen, verringert sich der Wert des Verweiszählers.

Wenn der Referenzzählwert abnimmt -

  • Dieser Wert verringert sich, wenn die Referenz des Objekts den Gültigkeitsbereich verlässt.
  • Der Wert verringert sich, wenn das Objekt gelöscht wird.

Der Referenzzähler gibt also an, wie oft ein Objekt von anderen Objekten referenziert wird. Auf diese Weise erfolgt die Freigabe, wenn der Referenzzähler auf Null fällt.

Das obige ist der detaillierte Inhalt vonSpeicherverwaltung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen