2011-07-04 2 views
-1

"정적 HashMap의 저장소 개체" 및 웹 기반 기업 애플 리케이션을위한 아파치 자바 캐시 시스템를 사용하여 사이의 prons과 단점은 무엇인가? 어느 것은 성능에 가장 적합힙 메모리 문제를 줄일 수자바 캐시 시스템 및 정적 HashMap의 스토리지 - 성능

예 :

Map store=ApplicationCtx.getApplicationParameterMap(); 
UserObj obj=store.get('user'); 

      VS 

UserObj obj = JCS.getInstance("user"); 

답변

1

당신은 두 세계의 최고를 원한다면, 당신은으로 사용할 수있는 동기화의 LinkedHashMap을 사용하는 것이 좋습니다 LRU 캐시 (기본 퇴거 정책)이며 스레드로부터 안전합니다.


HashMap은 더 간단하고 빠르며 스레드 안정성이 뛰어나지 않습니다. (가장 빠른 이유는 무엇입니까?)

대부분의 캐싱 시스템은 약간의 오버 헤드가 발생한다는 것을 의미합니다. 예 : 그들은 thread safe (당신이 필요로 할 것임을 확신합니다)와 퇴거 정책을 지원합니다. (당신도 필요하다고 나타냅니다.)

요컨대, 첫 번째 것은 가장 빠르지 만 아마도 필요한 것을하지 않을 것입니다. 두 번째 방법은 사용하는 메모리 양을 관리하는 데 도움이됩니다.