我有一个骨架(元数据)和大的数据对象的数据模型。我想保持在内存中的骨骼和保持弱引用的数据对象。我知道我将如何与普通的Java实现这一点,我会怎样创建一个WeakHashMap中和清理等,但我不知道什么是复活的数据对象的最佳方式,他们已经GC'd后?

我应该添加一个技术关键,我的地图,我分配到一个字段中的数据对象,这样我就可以再次找到它?或者我应该叫db.ext()的getId(),并使用该ID为技术关键?如果是这样,怎么会加载父,当我得到这些钥匙?你有什么建议?

有帮助吗?

解决方案

我想补充一个技术关键是你的大数据对象。然后,你保存在您的元数据级这一技术的关键。 现在,当你得到的大量数据对象,你通过它得到它的技术关键上。这相当简单的解决方案。

DB4O实际上使用弱引用返回相同的对象,并避免不必要deserialisation。所以,当你问一个对象并没有被GC收集的,db4o将返回相同的对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top