Replies: 2 comments
-
위와 같은 명언이 떠오르는 아이템이었습니다. 개인적으로는 필요한 라이브러리만 프로젝트에 도입해서 사용하는 편인데, |
Beta Was this translation helpful? Give feedback.
0 replies
-
Random? vs ThreadLocalRandom? java.util.Random은 멀티 쓰레드 환경에서 하나의 인스턴스에서 전역적으로 의사 난수(pseudo random)를 반환한다. 따라서 같은 시간에 동시 요청이 들어올 경우 경합 상태에서 성능에 문제가 생길 수 있다. 반면 JDK 7부터 도입된 java.util.concurrent.ThreadLocalRandom은 java.util.Random를 상속하여 멀티 쓰레드 환경에서 서로 다른 인스턴스들에 의해 의사 난수를 반환하므로 동시성 문제에 안전하다.(랜덤 특성상 같은 수가 나와도 설계상 문제가 아닌 정상 작동)
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
아이템 59. 라이브러리를 익히고 사용하라
예시 코드
위 문제의 해결법?
다른 해결법
표준 라이브러리 사용의 장점
1. 표준 라이브러리를 사용하면 그 코드를 작성한 전문가의 지식과 앞서 사용한 다른 프로그래머들의 경험을 활용할 수 있음
Random 의 문제점
2. 핵심적인 일과 크게 관련 없는 문제를 해결하느라 시간을 허비하지 않아도 된다.
3. 따로 노력하지 않아도 성능이 지속해서 개선 됨
4. 기능이 점점 많아짐
5. 표준 라이브러리를 활용해 작성한 코드가 많은 사람에게 낯익은 코드가 됨
그럼에도 불구하고 직접 구현하는 경우
대부분 라이브러리에 그런 기능이 있는지 모르기 때문
라이브러리가 필요한 기능을 충분히 제공하지 못하는 경우
정리
이미 잘 만들어진 바퀴를 사용하면 되지 바퀴를 만들려고 고생할 필요가 없다.
라는 명언이 생각이 났는데 책에서도 이 예시를 들었음Beta Was this translation helpful? Give feedback.
All reactions