Цивільно-імперські послуги; структурне будівництво
Гарбаж колекції Алгоритми: підвищення ефективності з практичними прикладами
Table of Contents
алгоритми збору сміття є важливим у управлінні пам'яттю на мовах програмування. Вони автоматично виявляються та вільні невикористані пам'яті, запобігаючи витокам та оптимізації продуктивності. Різні алгоритми залежать від потреб та середовища програми.
Марк-енд-Свеп Алгоритм
Алгоритм маркування та поглинання працює в двох фазах: маркування об'єктів, що досягають і відхиляється від немаркованих. Це простий і ефективний, але може викликати паузи під час виконання, впливаючи на продуктивність в системах реального часу.
Реквізити
Підрахунок посилань зберігає кількість посилань на кожен об'єкт. При перерахуванні падає на нульовий, об'єкт відразу ж з'являється. Цей метод ефективний, але бореться з циклічними посиланнями, які можуть призвести до витоків пам'яті.
Колекція генеративних гаражів
Збірник сміття ділить предмети на покоління на основі їх життя. Молодші об'єкти зібрані частіше, підвищують ефективність. Даний підхід є загальним у сучасних віртуальних машинах, таких як Java і JavaScript-двигуни.
Практичний приклад
Розглянемо веб-додаток, що створює і знищує багато тимчасових об'єктів. Використання генеративної колекції зменшує час паузи і покращує відчуження. На відміну від системи з довгоотриманими об'єктами може вигодувати від маркування-і-повільної для ретельного очищення.