前言
java.util.Random的源码阅读
介绍
java.util.Random是Java的一个实用工具类库中的一个类,提供了产生各种类型随机数的方法
// 无参构造方法
public Random() {
// 生成种子 seedUniquifier方法和System.nanoTime()时间进行 异或运算
this(seedUniquifier() ^ System.nanoTime());
}
// 初始的种子
private static final AtomicLong seedUniquifier = new AtomicLong(8682522807148012L);
private static long seedUniquifier() {
// 多线程可以会赋值失败,所以使用for循环
for (;;) {
// 当前预期值
long current = seedUniquifier.get();
// 要更新的值
long next = current * 181783497276652981L;