Sobes.tech
Junior — Middle

Чӣ гуна механизмии ҷамъоварии партовҳо ёрдам медиҳад, ки ёддоштҳои истифодашударо дар Java озод кунад?

sobes.tech AI

Ҷавоб аз AI

Дар Java механизмии ҷамъоварии партовҳо (Garbage Collector, GC) автоматӣ мемориро, ки аз ҷониби объектҳо ишғол шудааст, ки дигар истифода намешаванд, озод мекунад.

Принсипи кор:

  1. Шиносоии дастрасӣ ба объектҳо: GC объектҳоро, ки аз қисмҳои фаъоли барнома (масалан, аз стеки зангҳо ё тағйирёбандаҳои статикӣ) ҳеҷ гуна ишора намешаванд, пайгирӣ мекунад.
  2. Нишонгузорӣ: Ҳамаи объектҳои дастрас ҳамчун зинда нишонгузорӣ мешаванд.
  3. Тоза кардан: Объектҳое, ки ҳамчун зинда нишонгузорӣ нашудаанд, ҳамчун партов ҳисобида мешаванд ва мемориашон озод карда мешавад.

Java аз алгоритмҳои гуногун (масалан, Mark-and-Sweep, Generational GC) истифода мебарад, ки корро бо мемориро оптималӣ мекунанд ва дар иҷрои барнома дамоҳоро кам мекунанд.

Масалан: агар объект дар дохили як метод эҷод шавад ва пас аз баромадан аз он дигар ишораҳо ба он набошад, GC дар вақтҳои оянда мемориро, ки он ишғол кардааст, озод мекунад.