Sobes.tech
Junior — Middle

Тавре дар хотираи барнома намудҳои асосии маълумот ҷойгир мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар Java, намудҳои асосии (примитивӣ) маълумот дар стеки даъватҳо (stack) ҷойгир мешаванд, агар онҳо тағйирёбандаҳои маҳаллӣ ё параметрҳои усул бошанд. Ин бо сабаби он аст, ки primitives мустақиман дар хотирае, ки ба тағйирёбанда таъин шудааст, нигоҳ дошта мешаванд.

Агар primitives ҳамчун майдонҳои объект бошанд, онҳо дар heap (халта) ҳамроҳ бо худи объект ҷойгир мешаванд.

Масалан:

void method() {
    int a = 10; // 'a' дар stack нигоҳ дошта мешавад
    MyObject obj = new MyObject(); // 'obj' ишора дар stack
    obj.value = 20; // майдони 'value' дар heap ҳамроҳ бо объект
}

Бинобар ин, primitives тағйирёбандаҳои маҳаллӣ дар stack, ва майдонҳои объектҳо дар heap ҷойгир мешаванд.