====== java Random ====== * [[https://docs.oracle.com/en%2Fjava%2Fjavase%2F21%2Fdocs%2Fapi%2F%2F/java.base/java/util/Random.html|java.util.Random]] * 랜덤 값 생성. * see [[https://docs.oracle.com/en%2Fjava%2Fjavase%2F21%2Fdocs%2Fapi%2F%2F/java.base/java/util/concurrent/ThreadLocalRandom.html|java.util.concurrent.ThreadLocalRandom]] * [[https://docs.oracle.com/en%2Fjava%2Fjavase%2F21%2Fdocs%2Fapi%2F%2F/java.base/java/security/SecureRandom.html|java.security.SecureRandom]] ===== 주의 ===== * ''java.util.Raandom''은 Thread Safe 하다. * 하지만 대신 공유해서 사용할 경우 ''synchronized''로 인해 성능이 매우 떨어진다. * 가급적 [[https://docs.oracle.com/en%2Fjava%2Fjavase%2F21%2Fdocs%2Fapi%2F%2F/java.base/java/util/concurrent/ThreadLocalRandom.html|java.util.concurrent.ThreadLocalRandom]] 을 사용한다. Instances of java.util.Random are threadsafe. However, the concurrent use of the same java.util.Random instance across threads may encounter contention and consequent poor performance. Consider instead using ThreadLocalRandom in multithreaded designs.