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