Junior — Middle
Kus asub põhitüüpide andmete salvestamine programmis mälus?
sobes.tech AI
Vastus AI-lt
Java-s põhie (primitiivsed) andmetüübid paiknevad kutsumise virnas (stack), kui need on kohalike muutujate või meetodite parameetriteks. See on tingitud sellest, et primitiivsed väärtused salvestatakse otse mälusse, mis on määratud muutujale.
Kui primitiivsed väärtused on objekti väljad, paiknevad need koos objekti endaga virnas (heap).
Näide:
void method() {
int a = 10; // 'a' paikneb virnas
MyObject obj = new MyObject(); // 'obj' on viide virnas
obj.value = 20; // väli 'value' heapis koos objekti endaga
}
Seega, kohalike muutujate primitiivsed väärtused paiknevad virnas, ja objektiväljad heapis.