Junior — Middle
Kuidas objekt kuvatakse mälus pärast programmi kompileerimise lõpetamist?
sobes.tech AI
Vastus AI-lt
Pärast Androidi (Java/Kotlin) programmi kompileerimise lõpetamist kujutatakse objekt mälus kui andmekogumit, mis paikneb heap'is (mälu piirkonnas). Mälus salvestatakse:
- Objekti päis (metainformatsioon, näiteks viide klassile, teave prügikoristaja jaoks).
- Objekti väljad (näide muutujad) ja nende väärtused.
Viited objektidele salvestatakse stack'is, samas kui iseobjektid paiknevad heap'is. Programmi käitamise ajal haldab JVM või ART (Android Runtime) mälu eraldamist ja vabastamist objektidele.
Mälu kujutluses võib objekti näha järgmiselt:
Heap:
+---------------------+
| Objekti päis |
| Väli1 (int) |
| Väli2 (String viide) |
| ... |
+---------------------+
Stack:
+---------------------+
| Viide objekti |
+---------------------+