Java Random类、ThreadLocalRandom类

Wesley13
• 阅读 673

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

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生成的都是伪随机数。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Karen110 Karen110
2年前
一篇文章带你了解JavaScript随机数
一、Math.random()Math.random()返回0到1之间的随机数(包括0,不包括1)。语法:Math.random();//returnsarandomnumber代码:项目JavaScriptMath.random()单击按钮以显示0(含)和1(不含)之间的随
风花雪月 风花雪月
2年前
python-随机函数
random.sample()可以从指定的序列中,随机的截取指定长度的片断,不作原地修改,不重复。random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.01.0之间。random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。random.randint()随机生一个
liam liam
1年前
Mock 语法讲解
是生成随机数据,拦截Ajax请求的JavaScript库。本文来介绍下Mock的常用语法。模拟数据生成随机数据Mock.Random.boolean()生成一个随机的布尔值。例如:返回值为true或false。Mock.Random.integer(min
执键写春秋 执键写春秋
2年前
藏在Java随机数中的hello world
把229985452当做种子传入Random类,就可以得到hello,相应的147909649则能得到world。在Java中执行如下程序,它最终会打印输出helloworld。我很好奇这个种子数是谁找到的?以及这个027范围是怎么找到的?packageperson.xsc.datamanage;importjava.util.Random;pu
Stella981 Stella981
2年前
Fortran根据系统时间生成随机数
FORTRAN中用于产生随机数的子程序有random\_seed和random\_number,其中random\_seed产生seed,random\_number根据seed的值产生随机数。当random\_seed()的参数为空时,其会给出一个默认的seed值,这意味着每次调用时产生的随机数都是相同的。(这也是有用的,这意味着你每次在执行程序的时候,会
Wesley13 Wesley13
2年前
Java 生成随机数
Java中常用的两种产生随机数的方法一、java.lang.Math类中的random()方法;调用这个Math.random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是\0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀
Wesley13 Wesley13
2年前
16年工作日志
0331:1.Random随机数2.DreamService互动屏保http://www.cnblogs.com/rustfisher/p/5232471.html3.http://blog.csdn.net/andylao62/article/details/440602454.Android服务类Service的详细学习
Wesley13 Wesley13
2年前
3springboot:springboot配置文件(配置文件占位符、Profile、配置文件的加载位置)
1.配置文件占位符RaandomValuePropertySourcr:配置文件可以使用随机数    ${random.value}    ${random.int} ${random.long}${random.int(10)}   ${random.int\1024,65535\}属性配置占位符
Stella981 Stella981
2年前
Spring Boot 配置随机数技巧
SpringBoot支持在系统加载的时候配置随机数。添加config/random.properties文件,添加以下内容:随机32位MD5字符串user.random.secret${random.value}随机int数字user.random.intNumber${random.int}