Sobes.tech
Junior — Middle
92

Ποιες προσεγγίσεις αυτόματης διαχείρισης μνήμης γνωρίζετε;

Απάντηση από AI

sobes.tech AI

Στην Python, η αυτόματη διαχείριση μνήμης υλοποιείται κυρίως μέσω:

  1. Αριθμητής Αναφορών (Reference Counting) — κάθε αντικείμενο διατηρεί έναν μετρητή αναφορών, που αυξάνεται κατά τη δημιουργία μιας νέας αναφοράς στο αντικείμενο και μειώνεται κατά την διαγραφή. Όταν ο μετρητής φτάσει το μηδέν, το αντικείμενο διαγράφεται αυτόματα.

  2. Συλλέκτης απορριμμάτων (Garbage Collector) — εκτός από τον αριθμητή αναφορών, η Python χρησιμοποιεί συλλέκτη απορριμμάτων για την ανίχνευση κυκλικών αναφορών που δεν μπορούν να διαγραφούν μόνο με τον αριθμητή.

Για παράδειγμα, αν δύο αντικείμενα αναφέρονται το ένα στο άλλο, αλλά δεν χρησιμοποιούνται στο πρόγραμμα, ο συλλέκτης απορριμμάτων θα τα ελευθερώσει.

Έτσι, γενικά, ο προγραμματιστής δεν χρειάζεται να διαχειρίζεται χειροκίνητα τη μνήμη — η Python το κάνει αυτόματα.