的java.util.Random
的next
方法,當我在Eclipse中查看源代碼,基本上是:java.util.Random實現在JRE或平臺之間有所不同嗎?
seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
return (int)(seed >>> (48 - bits));
我如何確定不同的JDK或的JVM以不同的方式或不同的常量實現next
?
我已經遇到了Weird behaviour when seeding Java Random中的不同無參構造函數。我想知道next
方法是否會出現類似的情況。我在哪裏可以找到不同實現的源代碼?
如果絕對必須是一樣的,我會採取的一個副本代碼並使用它。雖然文件建議這不應該需要。 – 2012-03-28 12:46:04