Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 912 Bytes

random_class.md

File metadata and controls

42 lines (32 loc) · 912 Bytes

Random Class

https://www.logicbig.com/how-to/java-random/different-random-classes.html

java.util.Random

  • Since Java 1.0
  • Thread Safe
  • 여러 Thread에서 동시 접근하면 경합이 발생하여 성능이 저하됨
new Random().nextInt(100);

java.security.SecureRandom

  • Since Java 1.1
  • Thread Safe
  • 암호학적으로 강력한 랜덤 숫자 생성기
  • 보안에 민감한(?) 애플리케이션에서 사용
new SecureRandom().nextInt(100);

java.util.concurrent.ThreadLocalRandom

  • Since Java 1.7
  • 현재 Thread에 격리된 랜덤 숫자 생성기
  • java.util.Random 보다 오버헤드가 적다
ThreadLocalRandom.current().nextInt(0, 100);

java.util.SplittableRandom

  • Since Java 1.8
  • Non Thread Safe
  • 고성능 랜덤 숫자 생성기
  • 병렬 스트림에서 유용
new SplittableRandom().nextInt(0, 100);