Junior — Middle
Σε ποια σημεία της μνήμης τοποθετούνται τα αντικείμενα και οι μεταβλητές πρωταρχικού τύπου;
sobes.tech AI
Απάντηση από AI
Στη Java, οι μεταβλητές των πρωταρχικών τύπων (int, boolean, double κ.λπ.) τοποθετούνται συνήθως στη στοίβα αν είναι τοπικές μεταβλητές της μεθόδου. Αν τα πρωταρχικά είναι πεδία ενός αντικειμένου, αποθηκεύονται στη σωρό μαζί με το ίδιο το αντικείμενο.
Τα αντικείμενα τοποθετούνται πάντα στη σωρό (heap). Οι μεταβλητές αναφοράς σε αντικείμενα αποθηκεύονται στη στοίβα αν είναι τοπικές μεταβλητές, ή στη σωρό αν είναι πεδία άλλων αντικειμένων.
Έτσι:
- Τοπικά πρωταρχικά — στοίβα
- Πεδία πρωταρχικών σε αντικείμενα — σωρός
- Αντικείμενα — σωρός
- Αναφορές σε αντικείμενα — στοίβα (τοπικές) ή σωρός (πεδία αντικειμένων)