zoukankan      html  css  js  c++  java
  • Random 中的种子怎么理解

    种子就是生成随机数的根,就是产生随机数的基础。计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。Java项目中通常是通过Math.random方法和Random类来获得随机数。Random类中不含参构造方法每次都使用当前时间作为种子,而含参构造方法是以一个固定值作为种子。

    随机数是种子经过计算生成的

    • 不含参的构造函数每次都使用当前时间作为种子,随机性更强
    • 随机数的生成是从种子值开始。 如果反复使用同一个种子,就会生成相同的数字系列,产生不同序列的一种方法是使种子值与时间相关。

    总之:

    1.伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。

    2.随机种子来自系统时钟,确切地说,是来自计算机主板上的定时/计数器在内存中的记数值。

    3.随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。也就是说,伪随机数也是某种对应映射的产物,只不过这个自变量是系统的时间而已。

    4.如果在JAVA中你每次调用new Random.nextInt()时都提供相同的种子值,那么,你将会得到相同的随机数序列。

  • 相关阅读:
    servlet配置restful
    Servlet异步上传文件
    JQuery全选Prop(“check”,true)和attr("attr",true)区别
    登录FTP,下载并读取文件内容
    Get请求中文乱码的几种解决方式
    系统架构概念及思想2
    系统架构概念及思想1
    Harbor高可用
    Harbor基础
    Docker原理及使用
  • 原文地址:https://www.cnblogs.com/ltb6w/p/8167310.html
Copyright © 2011-2022 走看看