一、Random偽隨機數:
Random 類專門用於生成一個偽隨機數,它有兩個構造器: 一個構造器使用默認的種子(以當前時間作為種子) ,另 個構造器需要程序員顯式傳入一個 long 整數的種子.
當使用默認的種子或傳入相同的種子構造 Random 對象時,它們屬於同一個種子,只要兩個 Random 對象的種子相同,而且方法的調用順序也相同,它們就會產生相同的數字序列 也就是說, Random 產生的數字並不是真正隨機的,而是一種偽隨機
常用解決方案:
為了避免兩個 Random 對象產生相同的數字序列,通常推薦使用當前時間作為 Random 對象的種子:
Random rand = new Random(System.currentTimeMi11is());
二、ThreadLocalRandom
ThreadLocalRandom 類是 Java 新增的 ,它 Random 的增強版 在並發訪 問的環境下,使用ThreadLocalRandom 來代替 Random 可以減少多線程資源競爭,最終保證系統具有更好的線程安全性。

