Java에서 인스턴스 오브 사용이 성능에 미치는 영향
객체 지향 설계에 대한 비방에도 불구하고 인스턴스 오브 연산자는 애플리케이션에서 여전히 일반적인 설계 선택으로 남아 있습니다. . 성능이 여전히 우려되는 반면, 그 영향은 종종 논쟁의 여지가 있습니다. 이 주제를 밝히기 위해 철저한 벤치마크 분석이 수행되었습니다.
벤치마크 구현
4가지 구현의 성능을 평가하기 위해 벤치마크 프로그램이 만들어졌습니다.
결과
10개의 포크로 10,000회 반복한 후 평균 시간은 다음과 같습니다. 기록됨:
Operation | Runtime in nanoseconds per operation | Relative to instanceof |
---|---|---|
INSTANCEOF | 39,598 | 100.00% |
GETCLASS | 39,687 | 100.22% |
TYPE | 46,295 | 116.91% |
OO | 48,078 | 121.42% |
분석
결론
Java 1.8에서는 instanceof 연산자가 유형 검사를 위한 가장 빠른 옵션입니다. getClass()보다 약간 빠르며 사용자 정의 유형 ID나 객체 지향 접근 방식보다 훨씬 빠릅니다. 성능에 미치는 영향이 최소화된 경우 instanceof는 성능이 중요한 시나리오에서 유형 확인을 위한 실행 가능한 선택으로 남아 있습니다.
위 내용은 인스턴스 오브가 정말 느린가요? Java 1.8의 성능 벤치마크의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!