Comments 4
Чето статья закончилась не успев толком и начаться =(
Большие объекты никогда не удаляются сборщиком мусора.
Это очевидная неправда, или, по крайней мере, сформулировано слишком уж криво. Проверить достаточно просто - запустите цикл, создающий большие массивы или Buffer
ы, но не сохраняющий на них ссылки, и посмотрите на потребление памяти этой программой.
Правда в том, что они, разумеется, удаляются сборщиком - но лежат в отдельном месте памяти, и никогда за время жизни не перемещаются. Интуиция в том, что из-за того, что эти объекты большие, перемещать их дорого. Но из-за их размера, их обычно не так много - поэтому в этом их отдельном пространстве фрагментация будет меньшей проблемой.
V8 использует схему, основанную на концепции Java Virtual Machine (JVM)
Упоминание JVM тоже выглядит довольно странно. Насколько я знаю, V8 и JVM - совсем не родственники, и я не уверен, насколько похоже у них устроены GC.
Расширяем кругозор: Garbage Collector в V8