ЗМЕНШЕННЯ РІВНЯ ВРАЗЛИВОСТІ GARBAGE COLLECTION ЗА ДОПОМОГОЮ ARENA ALLOCATOR
DOI:
https://doi.org/10.28925/2663-4023.2026.32.1096Ключові слова:
розподільник пам'яті, стратегія розподілу, збирання сміття пам'яті, збирач вантажу, розподільник арени, вразливістьАнотація
Розподіл пам'яті суттєво ускладнюється через поширені самокеровані фонові системи, такі як: збирання сміття, інтелектуальні вказівники та RAII. Часто ці системи та парадигми розподілу пам'яті викликають проблеми з продуктивністю та безпекою. У більшості сценаріїв (проектів) можна використовувати гідну альтернативу зазначеним парадигмам розподілу, щоб уникнути зниження продуктивності, яке збір сміття та інтелектуальні вказівники можуть накласти на створене програмне забезпечення, а також досягти кращого контролю, який допоможе уникнути можливих ризиків для безпеки між інтервалами очищення «відрізання та очищення» під час збирання сміття. Розподільник арен — це досить приваблива стратегія розподілу, яка має відносно мало згадок, незважаючи на всі зазначені переваги. Завдяки дуже лаконічній реалізації, арени можуть бути дуже зручними та зробити управління пам'яттю тривіальним, зберігаючи повний контроль у руках розробника. Арени можуть широко використовуватися майже в будь-якому проекті, пов'язаному з системами реального часу, орієнтованим на користувача програмним забезпеченням або всередині високооптимізованих систем, таких як компілятори.
Завантаження
Посилання
Buschnick. (2010). Garbage collection considered harmful. https://blog.buschnick.net/2010/02/garbage-collection-considered-harmful.shtml
Redis. (2025). Security advisory: CVE-2025-49844. https://redis.io/blog/security-advisory-cve-2025-49844/
Oracle. (2024). Garbage collector implementation. Java SE 24 documentation. https://docs.oracle.com/en/java/javase/24/gctuning/garbage-collector-implementation.html
Anastos, M. (2019). Unified theory of garbage collection. Cornell CS 6120 Blog. https://www.cs.cornell.edu/courses/cs6120/2019fa/blog/unified-theory-gc/
Quantum Developer. (n.d.). Demonstration of Java garbage collection flaws for game development and explanation of switching to Zig [Video]. YouTube. https://www.youtube.com/watch?v=PxUkTxA8OWU
Quantum Developer. (n.d.). CubyZ – early public alpha showcase [Video]. YouTube. https://www.youtube.com/watch?v=jm_0nRQEn_o
Krajačić, V. (2025). File Pilot: Inside the engine – BSC 2025 [Conference presentation]. YouTube. https://www.youtube.com/watch?v=bUOOaXf9qIM
Fleury, R. (n.d.). Untangling lifetimes: The arena allocator. https://www.rfleury.com/p/untangling-lifetimes-the-arena-allocator
mkirchner. (2019). Simple implementation of zero-dependency garbage collector [Source code]. GitHub. https://github.com/mkirchner/gc
amuerta. (2025). handy C header(s): A personal standard library for the C programming language [Source code]. GitHub. https://github.com/amuerta/hch
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2026 Олег Курченко

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.