Sobes.tech
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 ресурсларини сарфлайди. Алгоритм танлови ва конфигурацияси дастур ишлаш самарасига таъсир қилади.