패키지에서 짧은 이름을 사용하거나 이름이없는 패키지 (기본 패키지)를 사용하면 실제로 병 크기가 더 작아지는 이유에 대한 많은 정보를 찾을 수 없었습니다.이름없는 패키지 또는 더 작은 패키지 이름을 사용하면 Jar가 더 작아지는 이유는 무엇입니까?
나는 obfuscators를 사용하여 사용되지 않는 클래스를 제거하고 나머지 클래스의 이름을 더 작게 만들었습니다. 그러면 jar 크기가 줄어 듭니다. 그리고 저는 실제로 그것을 시도해 보았습니다. 내 응용 프로그램 중 하나에서 무명 패키지를 사용하여 파일 크기가 1.2 % 감소했습니다. 그러나 나는 왜 이런 일이 일어나는가에 대한 어떤 신뢰할만한 정보도 찾을 수 없었다. 나는 긴 이름이 소개하는 오버 헤드 때문에 그것이 있다고 추측 할 수 있습니다. 여전히 이것을 정당화하는 방법에 대한 조언을 주시면 감사하겠습니다. http://carfield.com.hk/document/java/articles/Efficient_MIDP_Programming.pdf
정말하지만 이유를 설명하지 않습니다
처음에 나는이 문서에서 아이디어를 얻었다.
에서 볼 수 있듯이? –
글쎄, 꽤 간단합니다. 실제로 클래스에 대한 모든 참조는 완전한 이름 (예 : package + name)을 사용하여 수행됩니다. 각 클래스 이름은 클래스 파일마다 한 번만 저장되지만 더 짧은 이름 (즉, 데이터 바이트 수가 적음)이 많은 클래스에 추가됩니다. 'x.a'는 3 바이트이고, com.mycompany.product.client.android.MyFancyViewComponent'는 ... more (너무 게으르다.). –
@dystroy 오버 헤드가 추가되는 위치를 잘 모르겠습니다. @ JoachimSauer 감사합니다.이 com.mycompany.product.client.android.MyFancyViewComponent는 모든 단일 개체에서 발생합니다. –