Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Java

Ποια είναι η διαφορά μεταξύ στοίβας και σωρού;

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

Η Στοίβα

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

- Ονομάζεται "στοίβα" επειδή το τελευταίο στοιχείο που προστέθηκε στη στοίβα είναι το πρώτο στοιχείο που αφαιρείται.

- Η στοίβα εκχωρείται αυτόματα όταν καλείται μια συνάρτηση και κατανέμεται όταν επιστρέφει η συνάρτηση.

The Heap

- Ο σωρός είναι δυναμικά εκχωρημένος περιοχή της μνήμης που μπορεί να χρησιμοποιηθεί για την αποθήκευση οποιουδήποτε τύπου δεδομένων.

- Μεγαλώνει και συρρικνώνεται όσο χρειάζεται, ανάλογα με την ποσότητα μνήμης που ζητείται από το πρόγραμμα.

- Μπορείτε να προσπελάσετε τον σωρό χρησιμοποιώντας δείκτες.

Διαφορά

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

Ακολουθεί ένας πίνακας που συνοψίζει τις διαφορές μεταξύ της στοίβας και του σωρού:

| Χαρακτηριστικό | Στοίβα | Σωρός |

|---------|-------|------|

| Κατανομή | Αυτόματα | Χειροκίνητα |

| Κατανομή | Αυτόματα | Χειροκίνητα |

| Μέγεθος | Οριοθετημένο | Δυναμική |

| Πρόσβαση | Δείκτες | Δείκτες |

| Σκοπός | Τοπικές μεταβλητές, παράμετροι συνάρτησης, διευθύνσεις επιστροφής | Κάθε τύπος δεδομένων |

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα