Lau*_*ire 14 java random portability
在给定初始整数参数的情况下,我需要生成受控的伪随机数序列.为此,我使用标准Java Random类,由整数参数播种.我想确保在可预见的未来(以及更多!)中我将跨系统(操作系统,还有Java/JDK版本)生成相同的序列.
总结:Java是否确保其伪随机数生成器在实现和版本之间的可重复性/可移植性?
注意:我已经为Python提出了完全相同的问题.我之后将实现语言改为Java,但出于其他原因.
Mik*_*uel 15
是.
该javadoc的解释:
该类的实例用于生成伪随机数流.该类使用48位种子,使用线性同余公式进行修改.(参见Donald Knuth,计算机程序设计的艺术,第2卷,第3.2.1节.) 如果Random使用相同的种子创建了两个实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列.为了保证此属性,为类指定了特定的算法Random.class Random为了Java代码的绝对可移植性,Java 实现必须使用此处显示的所有算法.但是,class Random允许子类使用其他算法,只要它们遵守所有方法的一般合同即可.
该类的实例用于生成伪随机数流.该类使用48位种子,使用线性同余公式进行修改.(参见Donald Knuth,计算机程序设计的艺术,第2卷,第3.2.1节.)
如果Random使用相同的种子创建了两个实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列.为了保证此属性,为类指定了特定的算法Random.class Random为了Java代码的绝对可移植性,Java 实现必须使用此处显示的所有算法.但是,class Random允许子类使用其他算法,只要它们遵守所有方法的一般合同即可.
Random
class Random
归档时间:
14 年 前
查看次数:
1859 次
最近记录: