【发布时间】:2011-12-20 07:38:20
【问题描述】:
关于将long 提供给种子java.util.Random,如果我将对象实例化一次,似乎只要花时间作为种子,就可以满足程序的生命周期,这对我来说目的意味着对nextDouble() 的一系列调用的结果看起来是随机的。
假设为了代码简单,我实例化Random,多次使用,然后重新实例化,重复。如果种子以类似方式提供,则种子将相似并增加,因为它是基于时间的。如果它是自 1970 年 1 月 1 日以来的秒数,则与该值相比,增加的幅度很小。(编辑:这个问题是在 2011 年提出的。)
如果我链接nextDouble() 的输出,是否使用非随机基于时间的种子重新实例化Random 会导致在nextDouble() 的复合输出链中出现微妙的模式。表达这个问题的另一种方式是:我是否需要从long 集合中统一抽取一个种子。
【问题讨论】: