パッケージ org.piax.util
クラス RandomUtil
java.lang.Object
org.piax.util.RandomUtil
public class RandomUtil extends Object
-
フィールドの概要
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 RandomUtil() -
メソッドの概要
修飾子とタイプ メソッド 説明 static RandomgetSharedRandom()static byte[]newBytes(int len, Random rand)static RandomnewCollisionlessRandom()seedの初期生成を工夫し、その際に起こりうるコリジョンを抑制したRandomオブジェクトを生成する。static RandomrenewSharedRandom()static voidsetSharedRandom(Random rand)
-
フィールド詳細
-
コンストラクタの詳細
-
RandomUtil
public RandomUtil()
-
-
メソッドの詳細
-
setSharedRandom
-
getSharedRandom
-
renewSharedRandom
-
newCollisionlessRandom
seedの初期生成を工夫し、その際に起こりうるコリジョンを抑制したRandomオブジェクトを生成する。通常のRandomオブジェクトの生成において、seedを省略した場合、ミリ秒精度の時刻が用いられる。 ミリ秒の精度(正しくはtick精度)の場合、同時に複数のRandomオブジェクトを生成したときには、 生成箇所が異なるマシンであってもseedが一致してしまうことが起こりうる。 これに対処するため、このメソッドでは、System.nanoTime() で取れるlong値に、IPアドレス (取得できない場合は、一時的に生成したObject)のhash値を足した値をseedに使用している。
- 戻り値:
- seedの初期生成コリジョンのないRandomオブジェクト
-
newBytes
-