Middle
Хусусиятҳои ҷамъкунандаи партовҳо (Garbage Collector) чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
Қоқиқоқ йиғувчи (Garbage Collector) асосий хусусиятлари:
- Хотирани автоматик бошқариш: Ҳаволани қўлда бошқаришдан озод қилади, "memory leaks" ёки "dangling pointers" каби хато хавфини камайтиради.
- "Ўлик" объектларни аниқлаш: Алгоритмлар ёрдамида фойдаланилмай қолган объектларни (қулланишдан чиқарилган) аниқлайди.
- Турли хил йиғиш алгоритмлари:
- Mark-and-Sweep: Фойдаланилган объектларни белгилайди (Mark), кейин белгиламаганларини олиб ташлайди (Sweep). Хотира парчаланишига олиб келиши мумкин.
- Copying: Хотирани икки ҳудудга бўлади. Жонли объектларни фаол ҳудуддан фаол бўлмаган ҳудудга кўчиради, кейин фаол ҳудудни тозалайди. Кўп "ўлик" объектлар бўлганда самарали, аммо кўпроқ хотира талаб қилади.
- Mark-and-Compact: Фойдаланилган объектларни белгилайди (Mark), кейин уларни бошланғич жойга кўчиради (Compact), бу орқали узлуксиз хотира блоки бўшатилади. Парчаланишни олдини олади.
- Генерацион: Хотирани нусхага бўлади (Ёш, Кекса). Кўпроқ "ёш" нусхада йиғиш, объектлар қисқа муддатда яшайди. Юкни камайтиради.
- Stop-the-World (STW) танаффуслар: Айрим алгоритмлар дастурни тўхтатишни талаб қилади, бу кечиктиришларга олиб келиши мумкин. Замонавий GCлар бу танаффусларни минималлаштиришга ҳаракат қилади (масалан, G1, ZGC).
- Ямон вақтда йиғишнинг аниқлиги: Дастурчи одатда қачон активлашишига назорат қилмайди, гўёки у ўша вақтни билгандай, аммо у уни билмасдан таъсир кўрсатиши мумкин.
- Ишлаш самарасига таъсир: Хотира йиғиш жараёни CPU ва RAM ресурсларини сарфлайди. Алгоритм танлови ва конфигурацияси дастур ишлаш самарасига таъсир қилади.