Apache Commons Math: где хранятся значения для SummaryStatistics?

Я использую Apache Commons Math в своем веб-приложении. Мне нужно использовать этот класс:

SummaryStatistics

Однако я озадачен этим описанием:

Вычисляет сводную статистику для потока значений данных, добавленных с помощью метода addValue. Значения данных не хранятся в памяти, поэтому этот класс можно использовать для вычисления статистики для очень больших потоков данных.

http://commons.apache.org/proper/commons-math/javadocs/api-3.3/org/apache/commons/math3/stat/descriptive/SummaryStatistics.html

Если значения не хранятся в памяти, то где они хранятся? На дисках? Если на дисках, то как быть с именами файлов? Может ли кто-нибудь пролить свет на это? Я также хотел бы знать, поддерживает ли SummaryStatistics многопоточность.

Это важно для меня, потому что веб-приложение допускает многопоточные запросы, и мне нужно убедиться, что запрос одного человека не перезаписывает сводную статистику для другого человека.


person curious1    schedule 21.12.2017    source источник


Ответы (1)


Они нигде не хранятся. Класс поддерживает только минимальные необходимые ему итоговые значения, а именно сумму, сумму квадратов, минимум, максимум и еще несколько значений. Если вы сомневаетесь, вы всегда можете проверить исходный код.

Для обеспечения безопасности потоков JavaDoc специально говорит:

Этот класс не является потокобезопасным. Используйте SynchronizedSummaryStatistics если требуется одновременный доступ из нескольких потоков.

person Petr Janeček    schedule 21.12.2017