는은 성능 향상을 위해 some.directory. * 악화를 사용하고 있습니까?
import some.directory.*;
또는
import some.directory.classNeeded;
를 사용하여 성능에 대한 더 나은 무엇입니까 또는이 클래스에서 사용되지 않습니다 컴파일러 할인 라이브러리 등의 성능에 변경을하지 않는 이유는 무엇입니까? 편의를 위해 구현 되었습니까?
는은 성능 향상을 위해 some.directory. * 악화를 사용하고 있습니까?
import some.directory.*;
또는
import some.directory.classNeeded;
를 사용하여 성능에 대한 더 나은 무엇입니까 또는이 클래스에서 사용되지 않습니다 컴파일러 할인 라이브러리 등의 성능에 변경을하지 않는 이유는 무엇입니까? 편의를 위해 구현 되었습니까?
import 문은 완전히 필요하지 않습니다. 원한다면 자바 개발자로서 평생을 바꿀 수 있습니다. 단지 애플리케이션의 모든 클래스에 대해 완전한 클래스 이름을 입력해야한다는 것을 의미합니다.
모두 import
은 코드에서 정규화 된 클래스 이름 대신 Connection
(java.sql.Connection
대신)이라는 짧은 클래스 이름을 사용할 수 있도록 허용합니다.
클래스에 동일한 짧은 클래스 이름이 포함 된 두 개의 패키지가있는 경우 모든 모호성을 제거하기 위해 항상 두 개를 모두 입력해야합니다 (예 : java.sql.Date
및 java.util.Date
).
import
을 클래스 로딩과 혼동하지 마십시오. 그것은 런타임 성능에 전혀 영향을 미치지 않습니다. 개발하는 동안 입력해야하는 키 입력의 수만 영향을줍니다.
import 지시어는 컴파일러에서만 볼 수 있으므로 다른 패키지의 이름을 구별하는 데 도움이됩니다. 그것은 생성 된 바이트 코드를 전혀 변경하지 않습니다. 따라서 성능에는 차이가 없어야합니다.
일부 사람들이 선호 할 이유는
import some.directory.*;
는 알 수없는 클래스와 네임 스페이스를 오염이다 사용하고, 이런 일이 보통 기회가 매우에도 불구하고, 잘못된 클래스의 실수로 사용 될 수 있습니다하지 작은.
컴파일러 지시문이므로 런타임 성능에 영향을주지 않습니다. 추가 읽기 http://www.javaperformancetuning.com/news/qotm031.shtml
PS를 들어
, 난이
없음 성능이 this question, 단지 잠재적 인 이름 충돌에 따라 안타 ... 어쩌면 다음, 구글에서 "자바 가져 오기 성능"을 찾고 발견했다.
당신이 인용 한 글에 몇 가지 모호한 진술이 있지만 올바른 결론을 이끌어 냈습니다. – EJP
*의 주요 문제점은 다음과 같습니다. 코드는 아마도 몇 년 후 컴파일이 중지 될 수 있습니다. 동일한 이름을 가진 클래스가 * import 된 패키지에 추가 되었기 때문입니다. 이러한 패키지는 다른 사람들이 관리 할 수 있습니다. –