Sobes.tech
Junior — Middle

Mely helyeken helyezkednek el a memória elsődleges típusú objektumai és változói?

sobes.tech MI

Válasz az MI-től

Java-ban a primitív típusú változók (int, boolean, double stb.) általában a veremben (stack) helyezkednek el, ha azok a metódus helyi változói. Ha a primitív típusok az objektum mezői, akkor azokat a saját objektummal együtt a heap-ben tárolják.

Az objektumokat mindig a heap-ben helyezik el. Az objektumokra mutató referencia változók a veremben tárolódnak, ha helyi változók, vagy a heap-ben, ha más objektumok mezői.

Tehát:

  • Helyi primitív típusok — verem
  • Primitív mezők az objektumokban — heap
  • Objektumok — heap
  • Objektumokra mutató referenciák — verem (helyi) vagy heap (objektum mezők)