Junior — Middle
Къде в паметта се разполагат основните типове данни в програма?
sobes.tech AI
Отговор от AI
В Java основните (примитивни) типове данни се поставят в стека за извиквания (stack), ако са локални променливи или параметри на методи. Това се дължи на факта, че примитивите се съхраняват директно в паметта, присвоена на променливата.
Ако примитивите са полета на обект, те се поставят в купчината (heap) заедно с самия обект.
Пример:
void method() {
int a = 10; // 'a' се съхранява в стека
MyObject obj = new MyObject(); // 'obj' е препратка в стека
obj.value = 20; // поле 'value' в купчината заедно с обекта
}
Следователно, примитивите на локалните променливи са в стека, а полетата на обектите — в купчината.