Junior — Middle
Kuidas vabastab prügikoristusmehhanism kasutamata mälu Java-s?
sobes.tech AI
Vastus AI-lt
Java mehhanismis prügikoristusest (Garbage Collector, GC) vabastab automaatselt mälu, mida on hõivanud objektid, mida programm enam ei kasuta.
Tööpõhimõte:
- Objektide kättesaadavuse määramine: GC jälgib objekte, millele ei ole enam viiteid aktiivsetest programmi osadest (näiteks kutsesilindrist või statilistest muutujatest).
- Märkimine: Kõik kättesaadavad objektid märgitakse elus olevatena.
- Puhastamine: Objektid, mida ei märgita elus olevatena, peetakse prügi ja nende mälu vabastatakse.
Java kasutab erinevaid GC algoritme (näiteks Mark-and-Sweep, Generational GC), mis optimeerivad mälu haldamist ja vähendavad rakenduse tööseisakuid.
Näide: kui objekt luuakse meetodi sees ja pärast selle väljumist sellele viiteid enam ei ole, vabastab GC aja jooksul selle objekti poolt hõivatud mälu.