最优 Java 随机种子

2023-12-13

关于提供long播种java.util.Random,如果我实例化该对象一次,似乎如果我只是将时间作为种子,这对于程序的生命周期来说是令人满意的,这对于我的目的来说意味着一系列调用的结果nextDouble()看起来随机。

假设出于代码简单的原因,我实例化Random,使用几次,然后重新实例化,如此重复。如果提供类似的种子,种子将会相似并且会增加,因为它是基于时间的。如果是自 1970 年 1 月 1 日以来的秒数,则与该值相比,增量会很小。(编辑:这个问题是在 2011 年提出的。)

如果我链接输出nextDouble()是否重新实例化Random使用非随机的基于时间的种子会导致在输出的复合链中出现微妙的模式nextDouble()。表达这个问题的另一种方式是:我需要从集合中统一抽取种子吗?long.


您可能会遇到这样的情况,它们确实会被分配相同的种子,特别是如果它们是在同一毫秒内创建的。有些机器的分辨率低至 15 毫秒或更高,因此这成为一个更大的问题。

解决这个问题的一种方法是使用Math.random()。它使用系统范围的随机实例,仅在第一次使用时才会实例化。我不相信您有权访问底层实例,因此您不能使用它来获取nextInt()但你可以使用Math.random()对于双打,或者如果您确实想要自己的 Random 对象,请获取double from Math.random(),将其位转换为long并使用它long作为你的新种子Random.

可以找到随机的 Oracle 文档here.

// create new random with seed from system random
Random r = new Random(Double.doubleToLongBits(Math.random()));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最优 Java 随机种子 的相关文章

  • 如何配置 Spring-WS 以使用 JAXB Marshaller?

    感谢您到目前为止对此的帮助 我正在更新问题 因为我没有显示我需要的所有内容 并显示了建议的更改 肥皂输出仍然不是我想要的 servlet xml
  • 在命令行java中突出显示文本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一项任务是重新创建 unix cal 程序 除了一部分之外 相当简单 今天 它突出显示了该数字 我不知道该怎么做 关于如何在 Ja
  • 在 Java 中从 SOAPMessage 获取原始 XML

    我已经在 J AX WS 中设置了 SOAP WebServiceProvider 但我无法弄清楚如何从 SOAPMessage 或任何 Node 对象获取原始 XML 下面是我现在获得的代码示例 以及我试图获取 XML 的位置 WebSe
  • 项目缺少所需的注释处理库

    我的 Eclipse IDE 突然在问题视图中显示 xxxx 项目缺少所需的注释处理库 xxxx M2 REPO 中的一些旧 jar 我用谷歌搜索 没有找到任何答案 为什么我的项目使用旧的 jar 以及错误来自哪里 To remove th
  • javax.persistence.RollbackException:提交事务时出错],根本原因是 java.lang.StackOverflowError:null

    我有一个使用 Spring Data REST 框架的 Spring Boot API 从 spring boot starter parent 2 1 0 RELEASE 继承的依赖项 我正在尝试执行 PUT 或 PATCH 请求来更新实
  • 使用 JSch 分别为各个提示提供输入

    问题是 SSH 连接需要在常规登录后提供另一个用户 ID 和密码信息 我正在使用 JSch 连接到远程服务器 它接受以下形式的输入InputStream 和这个InputStream只能通过一次 由于会话是交互式的 这会导致问题 我尝试将输
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • Kafka Java Consumer 已关闭

    我刚刚开始使用卡夫卡 我面临着消费者的一个小问题 我用Java写了一个消费者 我收到此异常 IllegalStateException 此消费者已关闭 我在以下行中遇到异常 ConsumerRecords
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • LocalDate 减去 period 得到错误的结果

    LocalDate减去一个Period 如 28年1个月27天 得到错误的结果 但减去一个Period 只有天单位 如 10282 天 得到正确的结果 有什么需要注意的吗 public static void main String arg
  • Java 中的 ExecuteUpdate sql 语句不起作用

    我正在学习如何将 SQL 与 Java 结合使用 我已成功安装 JDBC 驱动程序 并且能够从数据库读取记录并将其打印在屏幕上 我的问题发生在尝试执行更新或插入语句时 没有任何反应 这是我的代码 问题所在的方法 public static
  • 从 HttpClient 3 转换为 4

    我已经成功地对所有内容进行了更改 但以下内容除外 HttpClient client HttpPost method client new DefaultHttpClient method new HttpPost url InputStr
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • MongoDB java 驱动程序 3.0 在身份验证时无法捕获异常

    我超级卡住o 0 在尝试通过 Java 驱动程序进行身份验证时 存在捕获异常的问题 正如你可能会看到的Throwable类不工作 private MongoClient mongoClient private MongoDatabase m
  • 使用 HTTPServletRequestWrapper 包装请求参数

    我有一个可以验证 授权 REST 调用的过滤器 该过滤器需要访问请求参数 因此我为此编写了一个自定义 HTTPServletRequestWrapper import java util Collections import java ut
  • 如何检查日期字符串的有效性?

    在我的项目中 我需要检查日期字符串是否计算为正确的日期对象 我决定允许 yyyy MM dd 和日期格式 年 月 日 和 年 月 日 小时 分钟 我如何检查它们是否有效 我的代码为 1980 01 01 和一些奇怪的日期 如 3837 05
  • Java和手动执行finalize

    如果我打电话finalize 在我的程序代码中的一个对象上 JVM当垃圾收集器处理这个对象时仍然再次运行该方法吗 这是一个大概的例子 MyObject m new MyObject m finalize m null System gc 是
  • Java 中的微分方程

    我正在尝试用java创建一个简单的SIR流行病模型模拟程序 基本上 SIR 由三个微分方程组定义 S t l t S t I t l t S t g t I t R t g t I t S 易感人群 I 感染人群 R 康复人群 l t c

随机推荐

  • 如何使精灵指向鼠标。 XNA C#

    如果你看一下这张图链接文本 我需要通过仅知道直角三角形所有边的长度来找到角 A 我不知道三角函数 需要一些帮助 您的帖子实际上有两个问题 如何使精灵指向鼠标 XNA C 您必须计算精灵位置和鼠标位置之间的方向 这可以使用三角函数来完成 在本
  • 使用scanner.nextLine() [重复]

    这个问题在这里已经有答案了 我在尝试使用 java util Scanner 中的 nextLine 方法时遇到了麻烦 这是我尝试过的 import java util Scanner class TestRevised public vo
  • 如何在超级账本结构的视图页面上使用节点js显示当前哈希、先前哈希

    我正在尝试像链表一样遍历区块链 我只通过提供的块号从块中找到以前的哈希值 如何使用节点js获取块的当前哈希值 我有兴趣在视图页面上显示 节点 sdk 不提供当前哈希值 但可以使用与此类似的代码从块的标头计算它 var sha require
  • 在 C 中传递多维数组

    我目前正在尝试学习C 但我遇到了一个我无法解决的问题 考虑 include
  • 使用ExtAudioFile读取音频文件时,是否可以不连续地读取音频浮动?

    我正在尝试从 mp3 文件中绘制波形 我已经使用 Core Audio SDK 文档中提供的 ExtAudioFileReadTest 应用程序成功提取了浮点数 链接 http stephan bernsee com ExtAudioFil
  • 如何从自定义列表视图中单击项目启动不同的活动?

    我遵循了许多教程 例如http www javacodegeeks com 2013 09 android listview with adapter example html还关注了这里提出的问题如何使自定义ListView在单击列表项时
  • DynamoDB“设置”值是 CDRT 吗?

    另有说法if N gt gt 1客户端同时添加 10 000 个唯一值使用 DynamoDB 设置 类型updateItem and ADD 以某种方式保持在规定的限度内 下一次一致性读取时 该集合的大小将始终为 10 000 吗 我所说的
  • mp3 音频适用于所有浏览器,但不适用于 IE9

    我有三个 mp3 音频文件 它们在所有浏览器中都可以正常播放 但在 IE9 中只能播放 1 x 秒 除非我将 控制 更改为 自动播放 在这种情况下它播放得很好 然后我收到了 wav 格式的原始未编辑文件 我自己将其编码为mp3 但遇到了同样
  • Javascript - 替换“%20”空格

    var loc array document location href split var linkElement document getElementById waBackButton var newT document create
  • 仅当按下特定按钮时才进行淘汰验证

    https github com ericmbarnard Knockout Validation wiki Native Rules 我在 MCV3 页面上使用淘汰验证 我的情况是我有两个按钮 一是添加到收藏 二是保存 添加到集合会根据需
  • 使用 xcode 4 实施适用于 iPhone 的 Facebook Connect

    我在使用 Facebook Connect 时遇到问题 我 尝试 遵循位于http www mobisoftinfotech com blog iphone iphone fbconnect facebook connect tutoria
  • 项目从 Knockout 可观察数组中删除,但未从 html 表中删除

    我有一个问题可以说明我的问题 http plnkr co edit PzBrcTX0Vnn01xWy4dk6 这是一个包含 设置 列表的表 它使用 Footable 以便可以对列表进行排序以及 Footable 的其他功能 场景1 运行 按
  • R 打包中的 inst 和 extdata 文件夹

    在文档中 R 建议将原始数据文件 不是 Rdata 或 Rda 放置在inst extdata 从第一段开始 http cran r project org doc manuals R exts html Data in packages
  • 在swing中实现JTreeTable

    我想实现一个 JTreeTable 我在java官方网站上看到了这个例子 我是java初学者 我无法理解这个例子 我将树节点和子名称作为字符串 我该如何实施 有 仅我尝试过的产品 free SwingX 网豆Outline 如图所示here
  • java.lang.NoSuchFieldError: org.apache.http.message.BasicHeaderValueFormatter.INSTANCE android

    尝试使用下面的代码上传大视频但收到此错误java lang NoSuchFieldError org apache http message BasicHeaderValueFormatter INSTANCE gt 我猜它的发生是由于多个
  • 数据库关系

    在数据库中建立正确的关系除了数据完整性之外还有其他帮助吗 它们会提高还是阻碍绩效 只要您有与外键相对应的明显索引 就不会对性能产生明显的负面影响 这是您必须使用的最简单的数据库功能之一
  • 为什么 onchange 不起作用?

    我只是在网上寻找答案 但还没有找到任何答案 我正在使用 google 的 api 翻译 但我遇到了 JS 问题 事实上 除了一项操作之外 我的代码 100 正常 我的问题是当时没有给出翻译 js 将信息发送给 google 后 不会等到给出
  • Pdfbox:在旋转页面中绘制图像

    我有一个简单的 A4 pdf 文档 其中包含一个属性 Rotate 90 我的 pdf 的原始版本是横向的 但打印的是纵向 我正在尝试在肖像文档的左下角绘制一个小图像 到目前为止 这是我的代码 File file new File rota
  • 理解 JavaScript 中的 Promise

    我编写了很多 JavaScript 代码 虽然我认为我确实了解 Promise 的工作原理 但我不确定我是否完全理解 Promise 给 JS 世界带来的优势 考虑下面的代码 简单的异步调用以及包含进一步调用的回调等等 function d
  • 最优 Java 随机种子

    关于提供long播种java util Random 如果我实例化该对象一次 似乎如果我只是将时间作为种子 这对于程序的生命周期来说是令人满意的 这对于我的目的来说意味着一系列调用的结果nextDouble 看起来随机 假设出于代码简单的原