Junior — Middle
Objasnite mehanizam rada hrpe (heap) u Java virtuelnoj mašini i kako ona upravlja memorijom za objekte.
sobes.tech АИ
Одговор од АИ
Virtuelna mašina Jave dodeljuje prostor u memoriji za objekte — to je hrpa (heap). Kada se objekat kreira pomoću new, memorija za njega se dodeljuje tačno u hrpi.
Hrpa se upravlja od strane Garbage Collectora (sakupljača smeća), koji automatski oslobađa memoriju kada objekti postanu nedostupni (nema referenci na njih).
Ključne tačke rada hrpe:
- Hrpa je podeljena na generacije: Mladu (Young Generation), Staru (Old Generation) i ponekad Permanentnu (Permanent Generation) ili metaspace (Metaspace).
- Mlada generacija sadrži nedavno kreirane objekte. Česte sakupljanja smeća ovde su brza i nazivaju se minor GC.
- Objekti koji prežive više ciklusa sakupljanja premeštaju se u staru generaciju.
- Stara generacija se ređe čisti, tokom major GC, koji je skuplji.
Na ovaj način, hrpa obezbeđuje dinamičku dodelu memorije za objekte, a Garbage Collector automatski upravlja oslobađanjem memorije, smanjujući verovatnoću curenja memorije i grešaka u upravljanju memorijom.