--- old/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java 2017-05-11 16:25:53.864528930 -0400 +++ new/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java 2017-05-11 16:25:51.876412478 -0400 @@ -49,6 +49,7 @@ import java.util.stream.LongStream; import java.util.stream.StreamSupport; import jdk.internal.misc.Unsafe; +import jdk.internal.misc.VM; /** * A random number generator isolated to the current thread. Like the @@ -1093,11 +1094,8 @@ // at end of to survive static initialization circularity static { - if (java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction<>() { - public Boolean run() { - return Boolean.getBoolean("java.util.secureRandomSeed"); - }})) { + String sec = VM.getSavedProperty("java.util.secureRandomSeed"); + if (sec != null && Boolean.parseBoolean(sec)) { byte[] seedBytes = java.security.SecureRandom.getSeed(8); long s = (long)seedBytes[0] & 0xffL; for (int i = 1; i < 8; ++i)