Junior — Middle
Unde sunt plasate tipurile de date de bază în memorie într-un program?
sobes.tech AI
Răspuns de la AI
În Java, tipurile de date primitive sunt plasate în stiva de apeluri (stack) dacă sunt variabile locale sau parametri ai metodelor. Acest lucru se datorează faptului că primitivele sunt stocate direct în memoria alocată pentru variabilă.
Dacă primitivele sunt câmpuri ale unui obiect, acestea sunt plasate în heap împreună cu obiectul însuși.
Exemplu:
void method() {
int a = 10; // 'a' este stocat în stivă
MyObject obj = new MyObject(); // 'obj' este o referință în stivă
obj.value = 20; // câmpul 'value' în heap împreună cu obiectul
}
Prin urmare, primitivele variabilelor locale sunt în stivă, iar câmpurile obiectelor în heap.