Δημοσιεύτηκε: 15 Δεκ 2014, 01:19
από Ilias95
1. Ναι, όλα τα αντικείμενα της python αποθηκεύονται στο heap.

2. Όχι. Γι' αυτό λέμε ότι η python όπως άλλες γλώσσες (ευτυχώς) έχει δυναμική διαχείριση μνήμης. Ο garbage collector θα κάνει την δουλειά για σένα όταν χρειαστεί. Μάλιστα όχι κατά τον τερματισμό όπως λες, αλλά κατά την διάρκεια εκτέλεσης του προγράμματος όταν δημιουργούνται σκουπίδια (αντικείμενα στα οποία δεν υπάρχει κανένας δείκτης). Όταν τερματιστεί ένα πρόγραμμα έτσι κι αλλιώς απελευθερώνει όση μνήμη έχει δεσμεύσει.

Μάλιστα στην java η System.gc() (η μέθοδος που καλεί τον garbage collector της java) δεν σου εγγυάται ότι όντως θα γίνει εκείνη την στιγμή η εκκαθάριση. Πολύ πιθανόν να την κάνει όταν κρίνει αυτός σκόπιμο. Δεν ξέρω αν ισχύει και στην python αυτό.

ΥΓ. Το προηγούμενο post το ξέχασα με το πέσιμο του server, θα απαντήσω μόλις βρω χρόνο γιατί είναι μεγαλύτερο. :P