문제

골격 (메타 데이터)과 큰 데이터 객체가있는 데이터 모델이 있습니다. 골격을 메모리에 유지하고 데이터 객체에 대한 약한 참조를 유지하고 싶습니다. 나는 평범한 Java로 어떻게 이것을 구현할 것인지, 약한 해쉬 맵을 만들고 정리하는 방법을 이해합니다. 그러나 데이터 객체가 GC를받은 후에 데이터 객체를 부활시키는 가장 좋은 방법이 무엇인지 궁금합니다.

데이터 객체의 필드에 할당하는 내지도에 기술 키를 추가해야하므로 다시 찾을 수 있습니까? 아니면 db.ext (). getId ()를 호출 하고이 ID를 기술 키로 사용해야합니까? 그렇다면 부모를로드 할 때 어떻게이 키를 얻을 수 있습니까? 당신은 무엇을 제안합니까?

도움이 되었습니까?

해결책

대규모 데이터 객체에 기술 키를 추가하겠습니다. 그런 다음이 기술 키를 메타 데이터 클래스에 저장합니다. 이제 큰 데이터를 얻을 때 기술 키로 얻을 수 있습니다. 그것은 아주 간단한 솔루션입니다.

DB4O는 실제로 약한 참조를 사용하여 동일한 대상을 반환하고 불필요한 탈선을 피합니다. 따라서 객체를 요청하고 GC에 의해 수집되지 않았을 때 DB4O는 동일한 객체를 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top