본문 바로가기
[Effective Java] 스레드 스케쥴러에 의존하지 말자 [Effective Java] 스레드 스케쥴러에 의존하지 말자 - 많은 스레드가 runnable 상태일 때는 어떤 스레드를 실행시킬 것인지, 그리고 얼마 동안 실행시킬 것인지를 스레드 스케쥴러가 결정한다. 운영체제에서는 공정하게 그런 결정을 내리려고 하겠지만, 그 정책은 서로 다를 수 있다. 따라서 잘 작성한 프로그램은 그런 정책의 상세한 내용에 매달려서는 안 된다. 정확성이나 성능을 스레드 스케줄러에 의존하는 프로그램이라면 그 어떤 것도 이식성이 없어질 가능성이 크다. - 강력하고, 응답성이 좋고, 이식성이 있는 프로그램을 작성하는 가장 좋은 방법은, runnable 상태의 평균 스레드 개수가 프로세서의 개수보다 그리 크지 않게 하는 것이다. 이렇게 하면 스레드 스케줄러는 선택의 여지 없이 runnab.. 2017. 3. 17.
[Effective Java] 필요하면 방어 복사본을 만들자. [Effective Java] 필요하면 방어 복사본을 만들자. - 자바는 꽤나 안전한 언어이지만, 우리 클래스의 클라이언트가 불변 규칙을 파괴하기 위해 최선을 다할 거라는 가정하에 방어적으로 프로그램을 작성해야 한다. - 가변 객체인 매개 변수는 각각의 방어복사본(defensive copy)을 만들어서 생성자에 전달해야 한다. 그렇지 않으면 예상치 못한 여러 상황이 발생할 수 있다. - 방어복사본은 매개 변수의 유효성 검사에 앞서 만들어야 하며, 유효성 검사는 원본이 아닌 복사본을 대상으로 해야 한다!! ( TOCTOU 공격 ( 검사시간/사용시간) 이슈 ) - clone 은 위험한 복사방법이므로 가급적이면 다른 방법으로 복제하자. final 이 아닌 Class 는 sub class 가 clone 을 상속.. 2017. 1. 10.
[책 정리] 미움받을 용기 세번째 밤 - 타인의 과제를 버리라. ( 말을 물가에 데려갈 수 있지만 물을 마시게 할 수는 없다. ) #도스토예프스키 : 화폐란 주조된 자유다. #청년우리 인간은 늘 타인에게 인정받는 것을 필요로 하며 살아간다. 철학자아들러 심리학에서는 타인에게 인정받기 원하는 마음을 부정한다.타인에게 인정을 받으면 확실히 기분이 좋아진다.하지만 인정받는 일은 반드시 필요하지 않다. 인정 욕구는 상벌교육의 영향이다.아들러는 상벌교육을 맹렬히 비판했는데, 상벌교육의 결과로 "칭찬하는 사람이 없으면 적절한 행동을 하지 않거나, 벌주는 사람이 없으면 부적절한 행동을 하기도 한다." 가 발생. #철학자우리는 "타인의 기대를 만족시키기 위해 사는 것이 아니다".타인의 기대 같은 것은 만족시킬 필요가 없다. 타인의 인정을 바라고 타인의 평가에만 신경을 쓰면, 끝내는 타인의 인생을 살게 되는 것이다. 타인의 "이런 사람이면 좋겠다".. 2016. 2. 6.
[책 정리] 갑자기 찾으면 없는 것 몇 가지 ( 그 중 중요한 것은 사람! ) - 1cm+ 갑자기 찾으면 없는 것 몇 가지 사람도 마찬가지이다. 필요할 때만 찾지 말고,보고 싶을 때 자주 보자. 2015. 6. 8.
반응형