Garbage Collection: Як працює сміттевоз в Java

Однією з найбільших переваг Java (і водночас причиною палких суперечок) є автоматичне керування пам’яттю. Розробникам на Java не потрібно вручну виділяти пам’ять і самостійно звільняти її, як це роблять у C або C++ за допомогою malloc() та free(). За нас цю «брудну роботу» виконує таємничий та потужний механізм — Garbage Collector (GC), або збирач сміття. Але як саме він розуміє, що об’єкт більше не потрібен? Чому іноді додаток починає «заїдати» (так звані…