Java Random、ThreadLocalRandom、UUID類中的方法應用(隨機數)

來源:互聯網
上載者:User

標籤:software   bcd   luks   local   append   microsoft   font   其他   stringbu   

1.Random:產生一個偽隨機數(通過相同的種子,產生的隨機數是相同的);

Random r=new Random();System.out.println(r.nextBoolean());System.out.print(r.nextInt(50)+",");//隨機產生0~50的隨機數,不包括50System.out.println(r.nextInt(20)+30);//隨機產生30~50的隨機數,不包括50

2.ThreadLocalRandom:是JDK 7之後提供並發產生隨機數,能夠解決多個線程發生的競爭爭奪。ThreadLocalRandom不是直接用new執行個體化,而是第一次使用其靜態方法current()。
從Math.random()改變到ThreadLocalRandom有如下好處:
我們不再有從多個線程訪問同一個隨機數產生器執行個體的爭奪。
取代以前每個隨機變數執行個體化一個隨機數產生器執行個體,我們可以每個線程執行個體化一個。

ThreadLocalRandom t=ThreadLocalRandom.current();System.out.println(t.nextInt(50));//隨機產生0~50的隨機數,不包括50System.out.println(t.nextInt(30, 50));//隨機產生30~50的隨機數,不包括50

 

3.UUID:  UUID含義是通用唯一識別碼 (Universally Unique Identifier),這 是一個軟體建構的標準,也是被開源軟體基金會 (Open Software Foundation, OSF) 的組織在分散式運算環境 (Distributed Computing Environment, DCE) 領域的一部份。UUID 的目的,是讓分布式系統中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人衝突的 UUID。在這樣的情況下,就不需考慮資料庫建立時的名稱重複問題。目前最廣泛應用的 UUID,即是微軟的 Microsoft‘s Globally Unique Identifiers (GUIDs),而其他重要的應用,則有 Linux ext2/ext3 檔案系統、LUKS 加密分割區、GNOME、KDE、Mac OS X 等等。

String u=UUID.randomUUID().toString();System.out.println(u);

 

 產生5個字元的驗證碼:

String content="ABCDEFGHIJKLMNOPQRSTUVWHYZ";content+=content.toLowerCase();content+="0123456789";Random r=new Random();StringBuilder b=new StringBuilder(5);for (int i = 0; i <5; i++) {char n=content.charAt(r.nextInt(content.length()));b.append(n);}System.out.println(b.toString());

 

 

Java Random、ThreadLocalRandom、UUID類中的方法應用(隨機數)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.