Значение термина memory loitering

Что такое memory loitering в контексте структур данных?

Вот фраза целиком:

I provided the simplest possible working version of the data structures in this book. I left out details such as performance optimization, memory loitering, or thread safety.


Ответы (1 шт):

Автор решения: CrazyElf

Loitering is, holding a reference to an object when it is no longer needed.

Почему-то все найденные мной примеры относятся в основном к Java, хотя по идее проблема может быть актуальной для любого языка. И все примеры обычно сводятся к реализации некоей коллекции (стека?) в виде массива-буфера. Если мы в N-й элемент массива запишем ссылку на некий объект, а потом нам этот элемент будет больше не нужен, но мы при этом не изменим размер массива на меньший или не запишем в этот элемент null (как предлагается в этих примерах), то этот элемент массива продолжит ссылаться на этот объект и объект не сможет быть собран GC (сборщиком мусора). И вот для этого завели целый термин loitering object, т.е. "объект, слоняющийся без дела". Объект нам уже не нужный, но при этом его не может собрать сборщик мусора.

На мой взгляд это типичный "memory leak" в одном из своих проявлений. Но термин звучит красиво, что уж там. Видимо, автор его использовал "для красного словца".

→ Ссылка