Sobes.tech
Junior — Middle

Τι είδους αντικείμενα μπορούν να βρίσκονται στη στοίβα δεδομένων;

sobes.tech AI

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

Στη στοίβα δεδομένων (stack) αποθηκεύονται συνήθως οι πρωταρχικοί τύποι δεδομένων και οι αναφορές σε αντικείμενα, αλλά όχι τα ίδια τα αντικείμενα. Στο Android και Java, τα αντικείμενα τοποθετούνται στη heap, ενώ στη στοίβα αποθηκεύονται οι διευθύνσεις αυτών των αντικειμένων και οι τοπικές μεταβλητές.

Επομένως, στη στοίβα μπορεί να βρίσκονται:

  • Τοπικές μεταβλητές πρωταρχικών τύπων (int, boolean, float κ.λπ.)
  • Αναφορές σε αντικείμενα

Παράδειγμα:

void method() {
    int a = 10; // αποθηκεύεται στη στοίβα
    MyObject obj = new MyObject(); // obj - αναφορά στη στοίβα, αντικείμενο στη heap
}