Menulis kod yang cekap memori dan cepat dalam pelaksanaan adalah perkara yang diingini oleh setiap pembangun semasa bekerja dengan mana-mana bahasa pengaturcaraan. Dalam Python, peruntukan memori dan deallocation tidak manual kerana Python mempunyai pengumpul sampah.
Sekarang, apa itu pengutip sampah.
Pengumpulan sampah merujuk kepada cara ingatan dilepaskan apabila ia tidak digunakan dan cara ia disediakan untuk digunakan oleh objek lain. Python memadamkan objek yang tidak lagi digunakan. Inilah yang kita panggil kutipan sampah. Pengumpul sampah memulakan pelaksanaan program dan diaktifkan apabila kiraan rujukan menurun kepada sifar.
Pengumpul sampah Python berjalan semasa pelaksanaan program dan dicetuskan apabila kiraan rujukan objek mencapai sifar. Kiraan rujukan objek berubah apabila bilangan alias yang menunjuk kepadanya berubah.
Sekarang mari kita lihat bagaimana memori diperuntukkan dalam Python -
Dalam peruntukan memori statik, memori diperuntukkan pada masa penyusunan. Struktur data tindanan menyimpan memori statik.
Contoh mudah memperuntukkan memori pada tindanan -
static int x=2;
Dalam peruntukan memori dinamik, memori diperuntukkan pada masa jalan. Timbunan menyimpan memori dinamik. Jika objek tidak lagi diperlukan, ia membebaskan ruang memori.
Contoh mudah di mana memori diperuntukkan pada timbunan untuk 2 integer -
x = [0]*2
Seperti yang kita bincangkan di atas, pemungut sampah memulakan pelaksanaannya dengan program dan diaktifkan apabila kiraan rujukan menurun kepada sifar. Mari kita lihat apakah pengiraan rujukan.
Pengumpul sampah Python memulakan pelaksanaan program dan diaktifkan apabila kiraan rujukan menurun kepada sifar. Mari lihat bila kiraan rujukan bertambah atau berkurang
Apabila kiraan rujukan meningkat -
Apabila nama baharu diberikan atau diberikan dalam kamus atau tupel, kiraan rujukan meningkatkan nilainya.
Jika kita mengagihkan semula rujukan kepada objek, kiraan rujukan mengurangkan nilainya.
Apabila nilai kiraan rujukan berkurangan -
Oleh itu, kiraan rujukan sebenarnya ialah bilangan kali objek lain merujuk objek. Dengan cara ini, deallokasi berlaku apabila kiraan rujukan menurun kepada sifar.
Atas ialah kandungan terperinci Pengurusan memori dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!