У дома развитие Какво представлява събирането на боклука (ж.к.)? - определение от техопедия

Какво представлява събирането на боклука (ж.к.)? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава събиране на боклук (GC)?

Събирането на боклук (GC) е динамичен подход към автоматичното управление на паметта и разпределението на купчината, който обработва и идентифицира мъртви блокове памет и преразпределя хранилище за повторна употреба. Основната цел на събирането на боклука е да намали течовете на паметта.

Внедряването на GC изисква три основни подхода, както следва:

  • Маркиране и преместване - В процеса, когато паметта изтече, GC локализира цялата достъпна памет и след това възстановява наличната памет.
  • Референтно броене - Разпределените обекти съдържат референтен брой на референтния номер. Когато броят на паметта е нула, обектът е боклук и след това се унищожава. Освободената памет се връща в купчината памет.
  • Копиране на колекция - Има два дяла на паметта. Ако първият дял е пълен, GC локализира всички достъпни структури от данни и ги копира във втория дял, като уплътнява паметта след GC процеса и позволява непрекъсната свободна памет.

Някои езици и платформи за програмиране с вграден GC (напр. Java, Lisp, C # и .Net) самоуправляват течовете на паметта, което позволява по-ефективно програмиране.

Techopedia обяснява събирането на боклука (GC)

Динамичният подход за събиране на боклук при автоматичното разпределение на купчината адресира често срещани и скъпи грешки, които често са нерегистрирани в дефекти в реалния свят.

Тъй като те са трудни за идентифициране и поправяне, грешките при разпределението са скъпи. По този начин, събирането на боклук от мнозина се счита за съществена езикова характеристика, която улеснява работата на програмиста с по-ниско ръчно управление на разпределението на купчината. GC обаче не е перфектен и трябва да се вземат предвид следните недостатъци:

  • Когато освобождава памет, GC консумира изчислителни ресурси.
  • Процесът на GC е непредсказуем, което води до разпръснати забавяния на сесиите.
  • Когато неизползваните референтни обекти не са разположени ръчно, GC причинява течове на логическа памет.
  • GC не винаги знае кога да обработва в среда на виртуална памет на съвременните настолни компютри.
  • Процесът на GC взаимодейства слабо с кеш и виртуалната система на паметта, което води до трудности с настройката на производителността.
Това определение е написано в контекста на Общото програмиране
Какво представлява събирането на боклука (ж.к.)? - определение от техопедия