Sobes.tech
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-ზე.