Junior — Middle
პროგრამაში ძირითადი მონაცემთა ტიპები სად ინახება მეხსიერებაში?
sobes.tech AI
პასუხი AI-სგან
Java-да ძირითადი (პრიმიტიული) მონაცემთა ტიპები განთავსებულია ზარის სტეკზე (stack), თუ ისინი ადგილობრივი ცვლადები ან მეთოდების პარამეტრები არიან. ეს დაკავშირებულია იმასთან, რომ პრიმიტივები პირდაპირ ინახება ცვლადისთვის განკუთვნილ მეხსიერებაში.
თუ პრიმიტივები ობიექტის ველებია, ისინი განთავსებულია heap-ზე (მოყრილობაში) ობიექტთან ერთად.
მაგალითი:
void method() {
int a = 10; // 'a' ინახება სტეკზე
MyObject obj = new MyObject(); // 'obj' არის რეფერენცია სტეკზე
obj.value = 20; // ველი 'value' heap-ზე ობიექტთან ერთად
}
ამიტომ, ადგილობრივი ცვლადების primitives მდებარეობს სტეკზე, ხოლო ობიექტების ველები — heap-ზე.