jdk/src/share/classes/java/lang/StrictMath.java
changeset 19583 828d85603705
parent 18546 862067c6481c
child 19851 7b6ff45c39ce
--- a/jdk/src/share/classes/java/lang/StrictMath.java	Wed Aug 21 17:17:45 2013 +0200
+++ b/jdk/src/share/classes/java/lang/StrictMath.java	Thu Aug 22 13:32:22 2013 -0700
@@ -678,11 +678,8 @@
         return Math.round(a);
     }
 
-    private static Random randomNumberGenerator;
-
-    private static synchronized Random initRNG() {
-        Random rnd = randomNumberGenerator;
-        return (rnd == null) ? (randomNumberGenerator = new Random()) : rnd;
+    private static final class RandomNumberGeneratorHolder {
+        static final Random randomNumberGenerator = new Random();
     }
 
     /**
@@ -709,9 +706,7 @@
      * @see Random#nextDouble()
      */
     public static double random() {
-        Random rnd = randomNumberGenerator;
-        if (rnd == null) rnd = initRNG();
-        return rnd.nextDouble();
+        return RandomNumberGeneratorHolder.randomNumberGenerator.nextDouble();
     }
 
     /**