缓存大的孩子在使用db4o数据模型
-
19-09-2019 - |
题
我有一个骨架(元数据)和大的数据对象的数据模型。我想保持在内存中的骨骼和保持弱引用的数据对象。我知道我将如何与普通的Java实现这一点,我会怎样创建一个WeakHashMap中和清理等,但我不知道什么是复活的数据对象的最佳方式,他们已经GC'd后?
我应该添加一个技术关键,我的地图,我分配到一个字段中的数据对象,这样我就可以再次找到它?或者我应该叫db.ext()的getId(),并使用该ID为技术关键?如果是这样,怎么会加载父,当我得到这些钥匙?你有什么建议?
解决方案
我想补充一个技术关键是你的大数据对象。然后,你保存在您的元数据级这一技术的关键。 现在,当你得到的大量数据对象,你通过它得到它的技术关键上。这相当简单的解决方案。
DB4O实际上使用弱引用返回相同的对象,并避免不必要deserialisation。所以,当你问一个对象并没有被GC收集的,db4o将返回相同的对象。
不隶属于 StackOverflow