java随机数生成器
所属分类 java
浏览量 1073
Random java.util.Random
ThreadLocalRandom java.util.concurrent.ThreadLocalRandom
SecureRandom java.security.SecureRandom
Random 线程安全,但是多线程下可能性能比较低
高强度场景下,不要用Random ,因为它是线性可预测的
产生高强度的随机数,有两个重要的因素:种子和算法
如何获取近似随机的种子
收集计算机的各种信息,如键盘输入时间,CPU时钟,内存使用状态,硬盘空闲空间,IO延时,进程数量,线程数量等信息
SecureRandom 在类unix系统下,利用 /dev/random 来实现
最快的安全性要求不高的UUID 生成方法
ThreadLocalRandom.current().nextLong()
import java.security.SecureRandom;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomTest {
private static final Random random = new Random();
private static final SecureRandom secureRandom = new SecureRandom();
public static void main(String[] args) throws Exception {
for(int i=0;i<7;i++) {
System.out.println(random.nextInt());
System.out.println(random.nextInt(100));
System.out.println(secureRandom.nextInt());
System.out.println(secureRandom.nextInt(100));
System.out.println(ThreadLocalRandom.current().nextInt());
System.out.println(ThreadLocalRandom.current().nextInt(100));
System.out.println("**********");
}
}
}
linux熵池太小导致随机函数阻塞
上一篇
下一篇
Java NIO Scatter Gather
java NIO SocketChannel
Java NIO 内存映射文件
ZGC指南
java GC 进化
CMS G1 ZGC 堆内存区别