Random和ThreadLocalRandom类均用于生成伪随机数。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

Random的构造函数:

Random()     默认以系统当前时间为种子,相当于Random(System.currentTimeMillis())

Random(long  seed)

 

常用方法:

nextXxx()    生成对应类型的伪随机数。

 

示例:

Random  random=new Random();

int x=random.nextInt();     //生成一个int范围内的伪随机数

x=random.next(10);   //生成一个[0,10)内的伪随机数

 

如果使用的是同一个种子,则生成的伪随机数相同。

 

 

 

ThreadLocalRandom是Random的加强版,在并发访问的情况下,使用ThreadLocalRandom代替Random,可以减少线程间的资源竞争,从而保证系统具有更好的线程安全。

 

ThreadLocalRandom rand=ThreadLocalRandom.current();    //使用静态方法获取对象

rand.nextXxx()

rand.next(x)

rand.next(x,y)

ThreadLocalRandom生成随机数的方法更丰富,因为ThreadLocalRandom提供了更多的重载方法,限制随机数的范围。

 

 

Random、ThreadLocalRandom生成的都是伪随机数。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄