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 ҷойгир мешаванд.