반응형

효율적

    규칙 67 - 과도한 동기화는 피하라

    동기화 시에 너무 많은 동기화 블록을 사용할 경우에 데드락이 걸리거나 성능저하 등등 문제를 일으킬 수 있는 소지들이 몇 가지 있다. 특히 동기화 영역안에서 수행되는 작업의 양을 가능한 줄여야 한다. 자바에서는 동기화에 대한 비용처리가 그나마 잘되어있지만 잘 사용해야 하는 이유는 잘못된 동기화 사용은 각 쓰레드들의 메인 메모리 접근에 대한 지연시간을 늘릴 수 있기 때문에 비용이 증가할 수 있다. 또한 클래스 내에서 동기화를 수행하는 것이 외부에서 객체 호출 시 사용하는것 보다 높은 병행성을 달성 할 수 있을 때문 진행해야한다. 다시말하자면 필요할 때 해당 메서드등을 호출하여 동기화를 실행해야지 해당 메서드 자체를 동기화 하는것은 좋지 않다. 예를 들면 기존에는 StringBuffer를 사용하여 내부적으로 ..

    Enum - 규칙 30 int 상수 대신 enum을 사용하라.

    기존의 프로젝트에서 자주 사용 사용하는 설정 값이나 이름들을 열거 자료형으로서 다음같이 사용했다. 1234567// int를 사용한 enum 패턴public static final int FAIL = 1;public static final int SUCCESS = 2; // string을 사용한 enum 패턴public static final String FEMAIL = "3";public static final String MAIL = "4";cs int를 사용한 설정 값은 int enum 패턴, 문자열로 되어 있는 경우에는 string enum 패턴 이라고 한다. 하지만 이런 설정은 다음과 같은 단점이 있다. 1. 편의성이 떨어진다. 2. 이는 컴파일 시점 상수(compile-time constant..

반응형