← головнаПрограмування

ZOMBIE в Ruby. Що це таке?

Ruby - це мов програмування. Тут все зрозуміло. В коді цієї мови можна зустріти термін - ZOMBIE. Що це означає в контексті коду рубі?ZOMBIE — це термін, що використовується в контексті керування пам'яттю, для опису об...

Ruby - це мов програмування. Тут все зрозуміло. В коді цієї мови можна зустріти термін - ZOMBIE. Що це означає в контексті коду рубі?
ZOMBIE — це термін, що використовується в контексті керування пам'яттю, для опису об'єкта, який уже був відмічений до знищення, але його фіналізатор ще не виконаний. Це означає, що об'єкт вже "мертвий" (тобто його пам'ять може бути звільнена), але він все ще має деяку "життєздатність", оскільки фіналізатор може виконувати додаткові дії, перш ніж об'єкт буде повністю знищений.
Фіналізатор / Фіналайзер (Finalizer) це спеціальний метод у багатьох мовах програмування, який викликається автоматично перед тим, як об'єкт буде знищений збирачем сміття (Garbage Collector). Метод зазвичай використовується для виконання необхідних операцій очищення, таких як вивільнення ресурсів, які об'єкт використовував протягом свого життя.
Тобто Зомбі - об'єкт який відмітили для знищення, але ми все ще чекаємо поки фіналайзер почистить пам'ять перед остаточним знищенням об'єкту.

🔥 Більше дописів

Всі публікації
Програмування15 квіт. '24, 17:50

Що таке ентропія?

Ентропія - це поняття з теорії інформації та статистики, яке використовується для вимірювання сту...

Програмування7 трав. '24, 07:24

Що таке нативний машинний код?

Нативний машинний код - це вид програмного коду, який безпосередньо виконується процесором комп'ю...

Вмикаємо YJIT у Ruby 3.2.1 (Ruby on Rails)
Програмування8 трав. '24, 07:57

Вмикаємо YJIT у Ruby 3.2.1 (Ruby on Rails)

Спочатку треба розібратися з тим що таке JIT, YJIT та чи воно нам треба. В цій нотатці я опишу пр...