Вы можете настроить карту с помощью следующего конструктора:
ConcurrentHashMap<K,V>(initialCapacity, loadFactor, concurrencyLevel)
.
initialCapacity
: Несмотря на то, что вы упомянули, что вы будете вставлять 100 миллионов объектов, вы собираетесь оставить их на карте? или это все равно что добавлять и удалять объекты? если вы собираетесь сохранить все из них, а не удалять их, имеет смысл сохранить это значение как 110_000_000
, предложенное Bohemian, в противном случае вы должны сохранить его в качестве размера карты appx avg в любой данный момент времени.
loadFactor
: более высокое значение коэффициента загрузки уменьшает объем пространства, но увеличивает стоимость поиска. Это означает, что он оказывает существенное влияние на get
и put
, поскольку оба эти метода выполняют поиск внутри. По умолчанию это 0.75
, который обычно считается хорошим компромиссом между использованием пространства и временем поиска.
concurrencyLevel
: предполагаемое количество одновременно обновляемых потоков. В этом случае вы упомянули номер 130
Приведенные выше значения могут быть дополнительно детализированы путем анализа при вызове clear()
для удаления всех элементов.