我在我的网络应用程序中使用Apache Commons Math。我需要使用这个类:
SummaryStatistics
然而,我对此描述感到困惑:
计算使用添加的数据值流的摘要统计信息 addValue方法。数据值不存储在内存中,所以这个 class可用于计算非常大的数据流的统计信息。
如果值未存储在内存中,它们存储在何处?在磁盘上?如果在磁盘上,文件名怎么样?有人能说清楚这个吗?我还想知道SummaryStatistics是否支持多线程。
这对我很重要,因为Web应用程序允许多线程请求,我需要确保一个人的请求不会覆盖另一个人的摘要统计信息。
答案 0 :(得分:1)
他们没有存放在任何地方。该类仅维护所需的最小汇总值,即总和,平方和,最小值,最大值以及更多值。如果有疑问,您可以随时查看the source code。
根据线程安全性,JavaDoc特别说:
此类不是线程安全的。如果需要来自多个线程的并发访问,请使用
SynchronizedSummaryStatistics
。