Как вычислить, сколько памяти Java TreeMap должно обрабатывать каждое сопоставление?Использование памяти TreeMap
Я делаю эксперимент с 128 потоками, каждый сбрасывающий 2^17 longs в своем собственном массиве. Все эти 2^24 longs затем отображаются в ints (TreeMap<Long,Integer>
), каждая ссылка массива обнуляется перед переходом к следующему.
Это значение должно составлять 128 + 64 МБ для ключей + значений. Я удивлен, получив OutOfMemoryError во время сопоставления с 512 МБ, назначенным этой виртуальной машине.
Вы рассчитываете, сколько места требуется самому дереву? –