Search
Write a publication
Pull to refresh

Comments 4

Большие объекты никогда не удаляются сборщиком мусора.

Это очевидная неправда, или, по крайней мере, сформулировано слишком уж криво. Проверить достаточно просто - запустите цикл, создающий большие массивы или Bufferы, но не сохраняющий на них ссылки, и посмотрите на потребление памяти этой программой.

Правда в том, что они, разумеется, удаляются сборщиком - но лежат в отдельном месте памяти, и никогда за время жизни не перемещаются. Интуиция в том, что из-за того, что эти объекты большие, перемещать их дорого. Но из-за их размера, их обычно не так много - поэтому в этом их отдельном пространстве фрагментация будет меньшей проблемой.

V8 использует схему, основанную на концепции Java Virtual Machine (JVM)

Упоминание JVM тоже выглядит довольно странно. Насколько я знаю, V8 и JVM - совсем не родственники, и я не уверен, насколько похоже у них устроены GC.

В целом относительно похоже устроено, отличия в деталях реализации. И этих деталей дофига и больше.

Sign up to leave a comment.

Articles