ThreadLocalRandom类是在JDK1.7中引入的。除了java.util.Random中已有的方法之外,它还提供了一些方便的方法,如nextInt(least, bound)和nextLong(n)。有没有什么原因没有添加到java.util.Random中?毕竟,他们并不是不想接触Random类,因为他们在Java 8中为其添加了一大堆新方法。
我正在寻找任何客观的技术原因(而不是观点)。
发布于 2018-01-09 00:08:46
我不认为这是技术上的原因。这些方法可能已经在1.7中添加了。我猜由于过度的同步,java.util.Random被半弃用,取而代之的是ThreadLocalRandom和SecureRandom --就像哈希表和向量一样。Java8中的新的流方法被添加到java.util.Random中只是因为它是其他两个RNG的超类,没有像java.util.Collection这样的单独接口。
https://stackoverflow.com/questions/48152300
复制相似问题