阅读背景:

ThreadLocalRandom类原理分析

来源:互联网 

1、Random类及其局限性

public int nextInt(int bound) {
    if (bound <= 0)
        throw new IllegalArgumentException(BadBound);
    // 计算新的种子
    int r = next(31);
    int m = bound - 1;
    // 根据新的种子计算随机数
    if ((bound & m) == 0)  // i.e., bound is a power of 2
        r = (int)((bound * (long)r) >> 31);
    else {
        for (int u = r;
             u - (r = u % bound) + m < 0;
             u = next(31))
            ;
    }
    return r;
}
public int nextInt(int bound) {



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: