再论Java的随机数
来源:互联网 发布:单片机 8位可变波特率 编辑:程序博客网 时间:2024/05/01 05:52
今天我用Hadoop实现随机生成一个很大的矩阵,可是好多行是一样的,郁闷,查看了JDK的API后才知道了其中的原委,现在和大家分享一下。
Java随机数产生可以通过Java.util.Random来实现。
Random类有两个方法构造方法:
1. Random(long)该构造函数中的参数充当伪随机的种子,我们可以自由设置;
2. Random()该构造方法没有参数,其中的种子是通过System.currentTimeMills()获得;
对于调用Random()方法在单线乘或多线程程序中还没问题,但是在分布式系统中就会出现问题,因为两个进程可能在同一时刻调用(这个是相当有可能的),那么他们生成的随机数序列就会一样。
改正后,我将随机数生成器种子设置为临时的任务编号的哈希值和系统当前时间的和,这样就不去造成种子一样的情况了。
rand = new Random(System.currentTimeMillis() + context.getJobID().hashCode() + context.getTaskAttemptID().hashCode());
- 再论Java的随机数
- java随机数的生成
- java随机数的产生
- java随机数的产生
- java随机数的使用
- java-随机数的产生
- java 随机数的生成
- Java <!--随机数的产生 -->
- Java随机数的生成
- JAVA随机数的使用
- java 生成随机数的
- Java的随机数
- Java随机数的产生
- JAVA的随机数
- java随机数的产生
- java-明明的随机数
- java随机数的产生
- Java的随机数
- 哈佛经典语录
- setContentView和inflate区别
- Linux自带的JDK与sunJDK
- SQL Server 2005中的CHECKSUM功能
- Android获取本机ip地址和Mac地址
- 再论Java的随机数
- 我写的万能多用途简洁的Makefile
- 心情不好或者问题很难解决就看一看
- 2011 Asia Beijing Regional Online Contest-1007 hdu4046 Panda
- hdu 3673 David Shopping
- 分享国内外21大知名网盘
- poj 3468 树状数组解法(解决区间更新,区间求和)
- linux下valgrind的使用概述
- 12个国外稳定无限量免费网盘