Tomcat 컨테이너에서 webservice 애플리케이션을 개발하면 상수, 오류 메시지 등과 같은 webapp에 대한 많은 특성이 있습니다.클래스 파일에서 속성 파일이나 정적 상수에 액세스하는 것이 더 빠릅니까?
더 빠르고 더 좋은 방법은 무엇입니까? 당신은 아무것도 실행시에 발생이 없다, 그래서
Tomcat 컨테이너에서 webservice 애플리케이션을 개발하면 상수, 오류 메시지 등과 같은 webapp에 대한 많은 특성이 있습니다.클래스 파일에서 속성 파일이나 정적 상수에 액세스하는 것이 더 빠릅니까?
더 빠르고 더 좋은 방법은 무엇입니까? 당신은 아무것도 실행시에 발생이 없다, 그래서
항상 대답은 입니다. 프로필은입니다.
일반적으로 이것은 거의 확실하지 않은 미세 최적화의 일종입니다. 프로필을 작성하고 볼 수는 있습니다.
public static final String SOME_CONSTANT = "contstantValue";
이 컴파일러의 인라인 값을합니다.
값 (.properties 파일)을 임의의 위치에 저장하고 정적 초기화 프로그램 블록에로드 할 수도 있습니다.
일반적으로 정적 상수입니다. IO 작업은 항상 느려집니다.
그러나 하드 코딩 값은 값을 변경해야 할 경우 앱을 다시 컴파일해야한다는 의미입니다. 가치가 소프트웨어 릴리스 외부에서 변경 될 필요가 있는지 여부는 개발자로서의 당신의 요구입니다.
Bozho says으로, 원시 속도 측면에서 보면 public static final
을 치는 데 문제가있을 것입니다. 그러나 속도가 모든 것이 아닙니다. 예를 들어 현지화에 대해 걱정할 필요가 있다면 속성 파일을 사용하는 것이 좋습니다. ResourceBundle
을 대신 사용하는 것이 좋습니다.
동의 함. 성능 문제가 실제로 발생하는지 모르는 것들을 최적화하는 데 주력하지 마십시오. 최적화하는 유일한 좋은 방법은 병목 지점을 측정하고 병목 현상 인 코드를 개선하는 데 집중하는 것입니다. – Jesper
+1, 프로파일 링은 질문의 "더 빠른"부분에 대답하는 가장 좋은 방법입니다. 그러나 "더 나은"부분에는 분석/통찰력이 필요합니다. :-) –
프로파일 링은 관련성이 없습니다. 평범한 오래된 상수를 사용했을 때 I/O를하면 더 좋을 수 없습니다. –