ConcurrentHashMap chm= new ConcurrentHashMap(8,1,16);
Теперь в соответствии с приведенной выше конфигурацией ConcurrentHashMap разделит таблицу на 16 сегментов. Теперь каждый сегмент представляет собой индивидуальный hasmap. Возьмем размер объекта записи как x байтов. Тогда какая память выделяется для каждого сегмента. Согласно моему пониманию, в таблицу должны быть выделены только 8x байтов, а затем, как она будет разделена на 16 сегментов. Потому что здесь уровень параллелизма равен 16, а размер таблицы - 8. 8x/16 - 0.5x, чего недостаточно, чтобы добавить одну запись.Выделение памяти ConcurrentHashMap
Попытайтесь понять вопрос. Я очень хорошо знаю работу ConcurrentHashMap. Я спрашиваю, как 8 блоков можно разделить на 16 сегментов. –