java中两种随机数的产生方式
2016-04-07 14:54
537 查看
UUID
UUID.randomUUID().toString() //用来产生一个随机数,重复可能性很小所以用来生成数据库的主键id非常不错。
生成的字符串长度为36,
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)
File.separator 路径分隔符:
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。
Random
Random在java里面有两个包里面都有这个函数,这两个包分别是:
一、java.lang.Math.Random;
Returns:
a pseudorandom
equal to
See Also:
二、java.util.Random;
1、java.util.Random 中的随机算法是伪随机,也就是有规则的随机
2、相同种子数的Random对象,相同次数生成的随机数字是完全相同的;
3、Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率均等;
Random 有两种构造器,
Random(long seed)
以seed为种子生成随机数
Random()
注意:种子数只是随机算法的起源数字,不是生成的随机数的区间,并且没有任何关系
Random random1 = new Random(100);
Random random2 = new Random(100);
Random random3 = new Random();
这两种声明方式的区别
num1=random1.nextInt(100);
num2=random2.nextInt(100);
其中num1
是等于num2的
num3=random3.nextInt(100);
num3则不一定会和num1 或num2 相等!
UUID.randomUUID().toString() //用来产生一个随机数,重复可能性很小所以用来生成数据库的主键id非常不错。
生成的字符串长度为36,
UUID由以下几部分的组合:
(1)当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
(2)时钟序列
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxxx (8-4-4-4-12)
File.separator 路径分隔符:
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。
Random
Random在java里面有两个包里面都有这个函数,这两个包分别是:
一、java.lang.Math.Random;
Returns:
a pseudorandom
doublegreater than or
equal to
0.0and less than
1.0.
See Also:
Random.nextDouble()
二、java.util.Random;
1、java.util.Random 中的随机算法是伪随机,也就是有规则的随机
2、相同种子数的Random对象,相同次数生成的随机数字是完全相同的;
3、Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率均等;
Random 有两种构造器,
Random(long seed)
以seed为种子生成随机数
Random()
注意:种子数只是随机算法的起源数字,不是生成的随机数的区间,并且没有任何关系
Random random1 = new Random(100);
Random random2 = new Random(100);
Random random3 = new Random();
这两种声明方式的区别
num1=random1.nextInt(100);
num2=random2.nextInt(100);
其中num1
是等于num2的
num3=random3.nextInt(100);
num3则不一定会和num1 或num2 相等!
相关文章推荐
- RxJava和RxBus代替EventBus
- 你真的会写单例模式吗-------Java实现
- SPRING-MVC访问静态文件,如jpg,js,css
- HashMap类的注释翻译
- spring通过三种方式将value注入到bean的property中
- Java对流的使用(三)
- struts2 注解 同时 使用 *_*_*_*等
- Spring JdbcTemplate方法详解
- Java解析XML
- Java并发编程系列之二十四:Exchanger
- Spring 注释(一) @Controller @Component @Repository @Service
- spring mybatis sqlSession WARN错误
- DefaultHandlerExceptionResolver : Failed to convert request element: org.springframework.web.method.
- JavaBean, EbtutyBean, POJO概念
- Java动态代理实现
- eclipse svn 插件安装
- DefaultHandlerExceptionResolver : Failed to convert request element: org.springframework.web.method.
- java JPA 介绍
- 【Bug解决日志】newUri.getPathSegments().get(1) 报错: java.lang.IndexOutOfBoundsException
- Java核心技术卷一 第11章 异常、断言和日志