누구든지 조언을 줄 수 있는지 궁금합니다. 여러 POJO에 대한 Json 디시리얼라이저/시리얼 라이저를 작성했습니다. 가능한 한 포괄적 인 것으로 만들기 위해서, 그들은 POJO getter/setter 메소드를 반대하는 리플렉션에 의존한다. 이것은 성능에 가장 큰 영향을 미치기 때문에 검색된 후에 Method 객체를 저장하는 일종의 'ClassUtils'캐시를 만들려고했습니다. Introspector를 사용하여 속성 설명자 목록을 얻은 다음 get/set을 얻습니다. 3.5 초는 구아바 캐시 1,000 객체 직렬화 - 그것은 내가 만든 사용자 지정 캐시에 비해 대단히 느렸다, 그것은 아주 좋은 유용한 기능을 가지고있는 동안 - 거기에서 방법)리플렉션을 보조하기위한 고성능 개체 캐시
그러나, 내가 먼저 구아바 LoadingCache를 사용하려고 그리고 내 자신 만 < 1 초 ... 그러나, 내 자신의 캐시
(너무 오래 된 항목 및 삭제 등) 구아바의 유용한 기능을 많이 부족 중 하나 구아바 성능 향상에 대한 조언이 있는가, 또는 맞춤 cac 개선을위한 그? 나는 실제로 코드를 게시 할 수 없다. 그러나 내 자신의 사용자 정의 캐시는 기본적으로 String을 키로 사용하여 PropertyDescriptors를 저장하는 HashMap을 감싸는 래퍼입니다 (전체 클래스 이름으로 키를 저장해야합니다. 속성 이름 (예 : "com.company.package.classes.myclass.property")
[afterburner] (https://github.com/FasterXML/jackson-module-afterburner)와 선택적으로 Jackson을 사용하여 리플렉션을 바이트 코드 생성으로 바꿉니다. 불행히도 코드없이 구아바를 디버깅 할 수 없습니다. [ConcurrentLinkedHashMap] (https://code.google.com/p/concurrentlinkedhashmap/)은 Guava 포트보다 여전히 빠르지 만 많은 기능이 Guava에만 추가되었습니다. –