Зачем использовать 0.5 в качестве параметра распределения Пуассона в ConcurrentHashMap? - PullRequest
4 голосов
/ 20 марта 2019

в соответствии с документом Java в ConcurrentHashMap:

 * Ideally, the frequency of nodes in bins follows a Poisson distribution
 * (http://en.wikipedia.org/wiki/Poisson_distribution) with a
 * parameter of about 0.5 on average, given the resizing threshold
 * of 0.75, although with a large variance because of resizing
 * granularity. Ignoring variance, the expected occurrences of
 * list size k are (exp(-0.5) * pow(0.5, k) / factorial(k)). The
 * first values are:

Вопрос: как получается параметр 0.5?

1 Ответ

0 голосов
/ 26 марта 2019

Я думаю, что получил причину 0,5: максимальное количество элементов равно 0.75 * bin[].length, тогда размер ячейки будет изменен. Итак, предположим, что количество элементов равно: 0.5 * bin[].length, тогда среднее число элементов на ячейку равно 0,5.

...