当前位置:  开发笔记 > 编程语言 > 正文

什么是在Java中选择随机种子的跨平台方式?

如何解决《什么是在Java中选择随机种子的跨平台方式?》经验,为你挑选了1个好方法。

阅读此答案后: 从集合中选择随机子集的最佳方法是什么?

它让我想知道,如何在Java中选择随机种子?

并且不要说使用System.currentTimeMillis()或System.nanoTime().阅读文章,看看为什么不.

这是一个很难的问题,但让我更难.假设您需要生成随机种子而不连接到互联网,而不使用用户输入(IE,没有gui),并且它必须是跨平台的(因此没有JNI来访问硬件).

我们可以监视一些JVM变量作为我们随机性的来源吗?

可以这样做吗?还是不可能?



1> Dan Dyer..:

看看Uncommons Maths(完全披露:我写了).它应该解决Java中随机数所带来的大多数问题.

即使如果你不使用它,你也应该能够从它提供的各种SeedGenerator实现中获得一些想法.基本上,它默认使用/ dev/random.如果不存在(例如Windows),它会尝试从random.org下载数据,或者使用SecureRandom.generateSeed.

我认为SecureRandom.generateSeed是您可以做的最好的,不依赖于任何特定于平台或在Internet上.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有