это же целая эпопея о том, почему дебилов нельзя пускать к компиляторам
Асимптотика случайного доступа к памяти = O(√N + logN)
Viktor Love
1

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

Вторые, они же последние четыре байта — это указатель на virtual table, который нужен для реализации полиморфизма (как и при наследовании, так и при использовании интерфейсов). Правда заключается в том, что наследование нужно не везде, а вместо интерфейсов можно использовать generics. А большая часть объектов являются просто тупым набором данных.

И эти 8 байт являются бесполезными для 90% объектов.

Show your support

Clapping shows how much you appreciated Viktor Love’s story.