Java API .
java.lang.Math.random()
Math-, :
private static Random randomNumberGenerator;
private static synchronized void initRNG() {
if (randomNumberGenerator == null)
randomNumberGenerator = new Random();
}
public static double random() {
if (randomNumberGenerator == null) initRNG();
return randomNumberGenerator.nextDouble();
}
Math.random() - Random Class. , java.util.Random, .
java.util.Random
Random .
LCG - . java.util.Random , . ( ), .
java.util.Random (, ,...), - , java.security.SecureRandom.
java.util.Random , . , ThreadLocalRandom.
java.security.SecureRandom
SecureRandom java.util.Random . SecureRandom .
SecureRandom ( ).
java.security.SecureRandom , java.util.Random - .
java.util.concurrent.ThreadLocalRandom
ThreadLocalRandom Linear Congruential Generator, , .
, java.util.Random .
java.util.Collections.shuffle(list) java.util.Random , java.security.SecureRandom.