Java 云计算背景
Java生成随机数的4种方式,以后就用它了!(8)

Java生成随机数的4种方式,以后就用它了!(8)

② 扩展当然如果你想用它来生成一个一定范围的 int 值也是可以的,你可以这样写:for (int i = 0; i < 10; i++) { // 生成一个从 0-99 的整数 int number = (int) (Math.random() * 100); System.out.prin...

Java生成随机数的4种方式,以后就用它了!(7)

Java生成随机数的4种方式,以后就用它了!(7)

SecureRandom 默认支持两种加密算法:SHA1PRNG 算法,提供者 sun.security.provider.SecureRandom;NativePRNG 算法,提供者 sun.security.provider.NativePRNG。当然除了上述的操作方式之外,你还可以选择使用 n...

「大师课」搞定 Java 开发基础

23 课时 |
8714 人已学 |
免费

Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课

5 课时 |
1162 人已学 |
免费

Java Web开发-Web应用、Tomcat、HTTP请求与响应

17 课时 |
1440 人已学 |
免费
开发者课程背景图
Java生成随机数的4种方式,以后就用它了!(6)

Java生成随机数的4种方式,以后就用它了!(6)

ThreadLocalRandom 缺点分析虽然 ThreadLocalRandom 不支持手动设置随机种子的方法,但并不代表 ThreadLocalRandom 就是完美的,当我们查看 ThreadLocalRandom 初始化随机种子的方法 initialSeed() 源码时发现,默认情况下它的...

Java生成随机数的4种方式,以后就用它了!(5)

Java生成随机数的4种方式,以后就用它了!(5)

② 实现原理ThreadLocalRandom 的实现原理和 ThreadLocal 类似,它是让每个线程持有自己的本地种子,该种子在生成随机数时候才会被初始化,实现源码如下:public int nextInt(int bound) { // 参数效验 if (bound <= 0) thr...

Java生成随机数的4种方式,以后就用它了!(4)

Java生成随机数的4种方式,以后就用它了!(4)

2.ThreadLocalRandomThreadLocalRandom 是 JDK 1.7 新提供的类,它属于 JUC(java.util.concurrent)下的一员,为什么有了 Random 之后还会再创建一个 ThreadLocalRandom?原因很简单,通过上面 Random 的源码我...

Java生成随机数的4种方式,以后就用它了!(3)

③ 线程安全问题当我们要使用一个类时,我们首先关心的第一个问题是:它是否为线程安全?对于 Random 来说,Random 是线程安全的。PS:线程安全指的是在多线程的场景下,程序的执行结果和预期的结果一致,就叫线程安全的,否则则为非线程安全的(也叫线程安全问题ÿ...

Java生成随机数的4种方式,以后就用它了!(2)

Java生成随机数的4种方式,以后就用它了!(2)

② 优缺点分析Random 使用 LGC 算法生成伪随机数的优点是执行效率比较高,生成的速度比较快。它的缺点是如果 Random 的随机种子一样的话,每次生成的随机数都是可预测的(都是一样的)。如下代码所示,当我们给两个线程设置相同的种子数的时候,会发现每次产生的随机数也是相同的:// 创建两个线程...

Java生成随机数的4种方式,以后就用它了!(1)

Java生成随机数的4种方式,以后就用它了!(1)

在 Java 中,生成随机数的场景有很多,所以本文我们就来盘点一下 4 种生成随机数的方式,以及它们之间的区别和每种生成方式所对应的场景。1.RandomRandom 类诞生于 JDK 1.0,它产生的随机数是伪随机数,也就是有规则的随机数。Random 使用的随机算法为 linear congru...

更新时间 2022-07-27 12:29:36

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

Java开发者
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
287326+人已加入
加入
相关电子书
更多
Java单元测试实战
Java应用提速(速度与激情)
Java工程师必读手册
立即下载 立即下载 立即下载

Java更多随机数相关

Java您可能感兴趣