【发布时间】:2018-10-16 15:03:36
【问题描述】:
标题几乎概括了它——我们可以创建一个java.util.Random(或SecureRandom)的实例,并在每次需要随机值时使用它,或者我们可以在每次需要时创建一个新实例。想知道哪一种是首选方式,为什么?
为了说明上下文:随机值是在 HTTP 请求处理程序中生成的,每个请求一个,考虑到多线程,我正在寻找安全性和性能的最佳组合。
【问题讨论】:
-
没有所谓的“随机数”。每当您看到“随机”这个词时,都会认为“不可预测”。一个数字,就其本身而言,是不可预测的。这甚至意味着什么?
java.util.Random实例不会为您提供孤立的随机数:它会为您提供不可预测的 sequence 数字。
标签: java multithreading performance random secure-random