0

我有定义一些实体结构的代码,例如:

case class EntityDefinition(id: UUID,
                            name: String,
                            propertyDefinitions: Map[String, PropertyDefinition] = Map.empty[String, PropertyDefinition])

我有以下实体代码:

case class Entity(entityDefinition: EntityDefinition, 
                  id: UUID, key: String, 
                  properties: Map[String, Property[Any]])

每个实体会占用额外的内存来存储它的 entityDefinition 实例吗?我打算将 EntityDefinition 的数量保持在非常低的水平,但每个都将占据很大的大小。

所以问题是是否为实体保留这个结构,或者实现某种可以按需从缓存中获取实体定义的参考?

4

1 回答 1

4

如果您共享实体定义,那么您只需要为它们计算一个对象引用Entity。对象引用的大小由 JVM 指定

于 2013-06-17T15:54:45.307 回答