Java 伪随机数
2016-03-16 11:29
369 查看
1. Long型伪随机数
指定最大值的随机数:
public static Long getLongRd(int max){
return ThreadLocalRandom.current().nextLong(max);
}
Long型范围的随机数:2892122192609993272
public static Long getLongRd(){
return ThreadLocalRandom.current().nextLong(Long.MAX_VALUE);
}
十六进制表示的随机数:3c2cdc45ed09c661
public static String getHexLongRd(){
return Long.toHexString(getLongRd());
}
2. Int型伪随机数
Int型范围的随机数:157243445
public static int getIntRd(){
return ThreadLocalRandom.current().nextInt(Integer.MAX_VALUE);
}
十六进制表示的随机数:4a6e8ad6
public static String getHexIntRd(){
return Integer.toHexString(getIntRd());
}
3. 关于ThreadLocalRandom
jdk7版本才有,java.util.concurrent中
此用于多线程并发中,速度比Math.random()(线程安全,但非并发)快
注意:本例中用当前时间作为种子,所以并发获取时,随机强度不是很高
指定最大值的随机数:
public static Long getLongRd(int max){
return ThreadLocalRandom.current().nextLong(max);
}
Long型范围的随机数:2892122192609993272
public static Long getLongRd(){
return ThreadLocalRandom.current().nextLong(Long.MAX_VALUE);
}
十六进制表示的随机数:3c2cdc45ed09c661
public static String getHexLongRd(){
return Long.toHexString(getLongRd());
}
2. Int型伪随机数
Int型范围的随机数:157243445
public static int getIntRd(){
return ThreadLocalRandom.current().nextInt(Integer.MAX_VALUE);
}
十六进制表示的随机数:4a6e8ad6
public static String getHexIntRd(){
return Integer.toHexString(getIntRd());
}
3. 关于ThreadLocalRandom
jdk7版本才有,java.util.concurrent中
此用于多线程并发中,速度比Math.random()(线程安全,但非并发)快
注意:本例中用当前时间作为种子,所以并发获取时,随机强度不是很高
相关文章推荐
- 转:java.lang.IllegalStateException异常产生的原因及解决办法
- Java中Runnable和Thread
- JAVA中string.replace和string.replaceAll的区别及用法
- myeclipse 配置堆内存
- Java 内部类
- Java从入门到精通——基础篇单例模式七种写法
- Java类集
- Java中sleep()与wait()区别
- java.lang.OutOfMemoryError: Java heap space 解决方案
- Java学习笔记--String
- [疯狂Java]Swing
- Java NIO系列教程(五) 通道之间的数据传输
- JAVA数组
- Java学习(一)
- 温故1:Java char
- java 最近将工作中用到的工具总结——日期工具
- java实现在线预览office文档
- java中线程分两种,守护线程和用户线程。
- eclipse自动补全的设置
- java.lang.OutOfMemoryError异常解决方法