2012-10-25 4 views
0

많은 오래된 프로젝트와 임의의 코드 조각을 수집하여 코드베이스로 정리했습니다. 작은 라이브러리가 큰 라이브러리보다 더 효율적인지 알아 내려고합니다.작은 라이브러리 그룹 대 하나의 큰 라이브러리 성능 Java

코드베이스는 브라우저 애플릿, 데스크탑 응용 프로그램 및 서버 응용 프로그램에서 사용됩니다. 많은 감사합니다.

답변

2

필자가 알고있는 한, 클래스 로더 및 보안 관리자는 처음으로 특정 클래스를로드 할 때 성능을 최소 한 번 쳤습니다.
import에서 "링크 된"경우 JVM은 관련된 모든 클래스 (끝에있는 JAR)를 시작할 때 메모리에로드합니다.
이는 "수요에 로딩"일이 어떻게 등 반사

하지만 당신은 내가 당신이라면, 나는 가능한 한 많은 부분에 코드를 깰 것이다 말하고 싶었 하단 라인을 사용하는 경우.
장기간에 걸쳐 유지 관리 기능이 훨씬 향상 될 것이고 특정 시점은 모든 소프트웨어 수명주기에서 매우 중요합니다.

행운을 빈다.

+0

일반적으로 나는 동의하지만, 애플릿의 측면에서 라이브러리가 적다. 각 라이브러리에 대해 브라우저는 가져 오기 위해 새로운 http 연결을 열어야합니다. 연결이 적을수록 프로젝트가 더 빨리로드됩니다. 아마 당신은 다른 모듈에서 개발할 수 있고 애플릿 코드를위한 uber-jar를 생성 할 수 있습니다. – Matt

+0

@Matt yea, JS 파일 등을 배달 할 때이 점을 고려해야합니다. ' 결국 코드를 ​​결합 할 수는 있지만 코드를 유지할 수 없다는 것은 용납 될 수없는 일입니다. – Poni

1

개인적으로 필자는 코드 라이브러리를 기능 그룹으로 구성하려고합니다.

간단한 콘솔 또는 웹 프로젝트를 수행하는 경우 UI 라이브러리 코드를 모두 끌고 싶지 않습니다. 또한 유틸리티, 구성 요소, 애니메이션/고급 또는 특수 라이브러리와 같은 여러 가지 UI 라이브러리가 있습니다.

나를 위해이 라이브러리는 작고 매우 구체적인 라이브러리 (다른 라이브러리에 의존하는 일부 - 내 라이브러리의 대부분은 예를 들어 동일한 코어/유틸리티 라이브러리에 의존 함)를 많이 생성하는 경향이 있지만 유연성, 내가 쓸모없는 수하물을 많이 끌 필요없이 현재 프로젝트를 지원할 가장 최선의 라이브러리를 선택할 수 있습니다.

관리가 복잡해지기 때문에 (상황을 기억할 필요가 있지만 이름을 지정하고 그룹화하는 방법에 대해서는주의해야합니다.) 빌드 프로세스가 더 길어질 수 있습니다. 당신이 사용하는 시스템을 빌드하는 것). 이럴

) (당신이 다음 네트워크 배치, 크기 문제와 같은 일을하는 경우 다음 다른)보기의 실행 관점에서

, 나는 엄청난 차이를 만들 것 생각하지 않는다

프로젝트를 작은 크기로 유지하는 데 도움이됩니다. 적은 양의 모 놀리 식 라이브러리가있는 경우에는 죽은 체중이 훨씬 적습니다. (직장에서나 완전히 고통스러운 상황입니다.)