2011-10-07 2 views
3

Google 또는 내 지식이 나를 전달하는지 여부를 막 알았습니다.큰 개체 캐싱 및 필요한 경우 직렬화 (Java)

다음과 같은 상황을 생각해보십시오. 많은 수의 (최대 500MB의) 대형 객체를 읽었으며 때로는 500kb의 객체 만 수백만 개를 읽었습니다. 이것은 소프트웨어 사용자에 달려 있습니다. . 각 객체는 파이프 라인에서 처리되므로 항상 메모리에 모두있을 필요는 없습니다. 다시 직렬화 할 수 있도록 직렬화 한 후에 객체를 다시 찾으면됩니다. . 그래서 큰 객체를위한 지속적인 캐시와 같은 것입니다.

그래서 여기 내 질문에 오는 :

  1. 솔루션은 정확히 내가 필요 않는 (모든 프레임 워크)이 있습니까? 여기에는 다음과 같은 것들이 포함됩니다 : 캐시가 꽉 찼을 때 어떻게 든 결정한 후에 큰 개체를 임의로 직렬화합니까?

  2. 없는 경우 : 어떻게 든 지능적인 검사 날씨가있는 객체가 직렬화되어야하는지 여부입니다. 예 : 어떻게 든 메모리 크기를 확인 하시겠습니까? 또는 softreference에 청취자 같이 무언가 (때 그것이 풀어 놓인?).

덕분에 많이, 객체의

저장

답변

0

기독교 수백만 데이터베이스 응용 프로그램처럼 들린다.

+0

예. 하지만 somepoint에서 나는 "소프트웨어"에서 어떻게 든 한꺼번에 함께 계산하기 위해 동시에 많은 객체를 사용해야합니다. 이 개체는 이미지 btw입니다. ;) – user984161

+0

파일 이름 등이 있지만 이미지 데이터 자체가 아닌 이미지의 데이터 구조가 이미 있다고 가정합니다. 디스크/데이터베이스에 파일 (이미지 데이터)을 저장하고 필요할 때 검색하십시오. – michael667

+0

사실 나는 둘 다 가지고있다. 이미지 데이터 및 구조. 하지만 당신 말이 맞아, 이건 정확히 내 질문 : 어떻게 날씨를 결정하는 개체를 직렬화 할 필요가 없습니다 (여유 메모리에 따라). 지능적인 방법이 있습니까? 예 : softreference를 사용하면 자바가 힙을 때리는 시점을 알지 못하기 때문에 항상 객체를 생성하거나 변경해야 할 때 객체를 직렬화해야합니다. 아니면 어떻게 든들을 수 있을까요? – user984161

0

Oracle Coherence를 확인하십시오. 몇 가지 오픈 소스 대안이 있지만 Coherence가 가장 풍부한 기능입니다.

편집 : 물론 Coherence Alternatives

+0

힌트를 보내 주셔서 감사합니다. 오픈 소스 프로젝트의 이름을 지으실 수 있습니까? 실제로 우리가 제공하는 소프트웨어는 opensource 여야합니다. – user984161